¿Cómo bbPress y buddypress añadir que sus propias plantillas de página de la plantilla de página desplegable en la página de edición de pantalla

Estoy escribiendo un plugin y necesita saber cómo agregar una plantilla de página en la pantalla de la página de edición desde dentro de un plugin. bbPress Buddypress tanto Agregar plantillas de página a este descenso hacia abajo y yo no podemos descubrir cómo lo hacen. No busca solución template_redirect, necesita trabajar en el backend.

Ya estoy haciendo uso de template_redirect y no necesito ayuda con esto! Cualquier ayuda sería apreciada..


Solución

Sinceramente no sé cómo Buddypress y bbPress añadir opciones al menú desplegable de las plantillas de página y puedo equivocarme, pero creo que la única manera de hacerlo (excluyendo agregar archivos a la carpeta de tema o núcleo de hacking), es usar javascript. Crear un archivo que contenga el siguiente, salvo en algún lugar, voy a suponer que es llamado
my-script.js
y es en una subcarpeta
'js'
de la carpeta de tema
jQuery(document).ready(function($) {
   if (  $('select#page_template').length ) {
     var tmpl = myscriptdata.template;
     var label = myscriptdata.template_label;
     $('select#page_template').append('<option value="' + tmpl + '">' + label + '</option>');
   }
});
Entonces enqueue en
post.php
y
post-new.php
, Sólo para páginas y pasando la plantilla que desee agregar:
add_action('admin_enqueue_scripts', 'add_my_scripts');

function add_my_scripts( $page ) {
  if ( $page === 'post.php' || $page === 'post-new.php' ) {
    global $typenow;
    if ( $typenow === 'page' ) {
      wp_enqueue_script('myscript', get_template_directory_uri() . '/js/my-script.js', array('jquery'), null);
      $data = array(
        'template' => "my-template", // what you want to assign to dropdown value
        'template_label' => "My Template" // what you want to assign to dropdown label
      ); 
      wp_localize_script('myscript', 'myscriptdata', $data );
    }
  }
}
add_action('admin_enqueue_scripts', 'add_my_scripts');

function add_my_scripts( $page ) {
  if ( $page === 'post.php' || $page === 'post-new.php' ) {
    global $typenow;
    if ( $typenow === 'page' ) {
      wp_enqueue_script('myscript', get_template_directory_uri() . 

'/js/my-script.js', array('jquery'), null); $data = array( 'template' => "my-template", // what you want to assign to dropdown value 'template_label' => "My Template" // what you want to assign to dropdown label ); wp_localize_script('myscript', 'myscriptdata', $data ); } } }
.




Problemas relacionados

Plantilla de página desplegable en WordPress MultiSite

¿Cómo editar archivos de plantilla de bbPress WordPress, BuddyPress + bbPress?

Plantillas han desaparecido del menú desplegable listas

Campos personalizados, Unidos a una plantilla de página sólo se muestran en la pantalla de edición cuando se guarda la página

estilo de WP enqueue en las plantillas de página específica

¿Cómo editar las plantillas buddypress?

Vacío foros página BuddyPress sitio amplio foros bbPress

Retire la plantilla desplegable para ciertas páginas

Cómo hacer visible a admin sólo algunas plantillas de página

Crear una nueva plantilla para twentytwelve

bbPress Seleccione un tema responder como respuesta

Comportamiento extraño de plantilla de página desplegable

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact