Necesito crear un complemento que haga que las plantillas de página personalizadas estén disponibles en wp-admin. Me pregunto si alguien ya ha abordado esto, ya que parece un proceso bastante típico.
plugins
templates
page-template
jnthnclrk
fuente
fuente
Respuestas:
Al igual que Rarst respondió, realmente puede hacer eso sin editar archivos principales o eliminar el metabox de atributos de la página y crear su uso con el mismo código con un poco de modificación. el código a continuación es el código para /admin/include/meta-boxes.php y agregué un comentario para mostrar dónde irían las opciones adicionales de plantilla de página:
No sé si esto es una solución en su caso, pero tuve un caso de smiler cuando necesitaba mostrar el tipo de publicación en un tema incorporado en el complemento y para eso utilicé
add_filter('the_content', 'my-function');
y my-function creó la salida para mostrar.Otra opción sería hacer que su complemento cree el archivo de plantilla en el directorio del tema actual, algo como esto:
y puede ejecutar esto después de verificar por primera vez si el archivo existe
Espero que uno de esto ayude.
fuente
No estoy completamente seguro de entender lo que estás tratando de lograr, al menos por qué querrías que un complemento lo haga.
El procedimiento normal para crear diferentes plantillas de página es:
Cree una nueva plantilla de página en su directorio de temas ACTIVE (haga una copia de page.php).
Cambie el nombre de la plantilla (dentro del archivo).
/ * Nombre de la plantilla: página de ancho completo * /
Cambie el código de la página a lo que está tratando de lograr.
Ahora puede ir a crear una nueva página y elegir qué "Plantilla" usar.
...
Espero que eso sea lo que intentas lograr.
Documentación oficial aquí: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
fuente
Esto parece ser bastante difícil de lograr.
get_page_templates()
La función descarta activamente todo lo que no se encuentra en los directorios raíz padre e hijo. Tampoco se almacena en una variable global ni permite filtrar la lista generada de plantillas.Creo que el cuadro meta de atributos de página deberá bifurcarse y reemplazarse por completo para esto. Y no estoy seguro de que sea posible incluso entonces.
Estoy de acuerdo en que esto parece algo que tiene sentido, pero el código de WordPress es muy preciso porque quiere que las plantillas con nombre solo provengan del directorio del tema.
fuente
¿No es esta una de las razones que
register_theme_directory()
se introdujo?http://core.trac.wordpress.org/ticket/10467
En ese momento era un problema relacionado con BuddyPress, que quería incluir plantillas adicionales aquí y allá.
Sin embargo, supongo que no figuran correctamente como plantillas de página:
http://core.trac.wordpress.org/ticket/15803
fuente