J'ai besoin de créer un plugin qui rend les modèles de page personnalisés disponibles dans wp-admin. Je me demande si quelqu'un a déjà abordé cela, car cela semble être un processus assez typique?
plugins
templates
page-template
jnthnclrk
la source
la source
Réponses:
Comme Rarst a répondu, vous pouvez vraiment le faire sans modifier les fichiers de base ou supprimer la métabox des attributs de page et créer votre en utilisant le même code avec un peu de modification. le code ci-dessous est le code de /admin/include/meta-boxes.php et j'ai ajouté un commentaire pour montrer où iraient vos options de modèle de page supplémentaire:
Je ne sais pas si c'est un correctif dans votre cas, mais j'avais un cas de smiler quand j'avais besoin d'afficher le type de message dans un thème intégré de plugin et pour cela j'ai utilisé
add_filter('the_content', 'my-function');
et ma fonction a créé la sortie à afficher.Une autre option serait de faire en sorte que votre plugin crée le fichier modèle dans le répertoire du thème actuel, quelque chose comme ceci:
et vous pouvez l'exécuter après avoir d'abord vérifié si le fichier existe
J'espère que cela vous aidera.
la source
Je ne suis pas tout à fait sûr de comprendre ce que vous essayez de réaliser, du moins pourquoi vous voudriez qu'un plugin le fasse.
La procédure normale pour créer différents modèles de page est la suivante:
Créez un nouveau modèle de page dans votre répertoire de thème ACTIF (faites une copie de page.php).
Modifiez le nom du modèle (à l'intérieur du fichier).
/ * Nom du modèle: Page pleine largeur * /
Remplacez le code de la page par ce que vous essayez de réaliser.
Vous pouvez maintenant créer une nouvelle page et choisir le «modèle» à utiliser.
...
J'espère que c'est ce que vous essayez de réaliser?
Documentation officielle ici: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
la source
Cela semble assez difficile à réaliser.
get_page_templates()
La fonction supprime activement tout ce qui ne se trouve pas dans les répertoires racine parent et enfant. Il ne stocke pas non plus dans une variable globale ni ne permet de filtrer la liste générée de modèles.Je pense que la méta-boîte d'attributs de page devra être fourchue et complètement remplacée pour cela. Et je ne suis pas sûr que ce sera possible même alors.
Je suis d'accord que cela semble logique, mais le code WordPress est très précis en ce sens qu'il veut que les modèles nommés proviennent uniquement du répertoire du thème.
la source
N'est-ce pas l'une des raisons qui ont
register_theme_directory()
été introduites?http://core.trac.wordpress.org/ticket/10467
À l'époque, c'était un problème lié à BuddyPress, qui voulait lancer des modèles supplémentaires ici et là.
Je suppose qu'ils ne sont pas correctement répertoriés en tant que modèles de page, cependant:
http://core.trac.wordpress.org/ticket/15803
la source