2012-02-13 3 views
0

Я создаю внутренний интерфейс в Wordpress для клиента. Я хочу добавить ссылку на «Добавить новую страницу» и создать специальный шаблон страницы, предварительно выбранный, поэтому им не нужно выбирать один из выпадающего списка. Это возможно?Предварительно выбранный шаблон страницы в wordpress

ответ

1

Я вижу два варианта здесь:

  1. Добавить действие в admin_head где вы впрыснуть немного JavaScript, чтобы изменить значение по умолчанию шаблона страницы в раскрывающемся списке.
  2. Добавьте действие к save_post (documentation), и ваша функция обновит значение метаданных _wp_page_template сохраненного сообщения. Как это:

    add_action('save_post', 'my_default_template'); 
    
    function my_default_template($post_id) { 
    
        //verify post is not a revision 
        if (!wp_is_post_revision($post_id)) { 
         update_post_meta($post_id, '_wp_page_template', 'your-page-template.php'); 
        } 
    } 
    

Недостаток метод 2 будет то, что страница должна быть сохранена, когда перед отображением нужного шаблона в раскрывающемся списке. Вероятно, вам также придется проверить, действительно ли пользователь выбрал настраиваемое значение, прежде чем устанавливать его самостоятельно.

0

Регистрация: сор-админ/редактирования форм-advanced.php Есть:

add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core'); 

Если удалить этот METABOX каким-либо образом и заменить его самостоятельно, где ваша функция действительно изменить передал param $ post (задает желаемый шаблон), а затем вызывается исходный вызов callback (например post_thumbnail_meta_box()), передающий модифицированный $ post param. Я думаю, что если вы добавите свое собственное действие add_meta_boxes (называемое несколькими строками ниже), вы сможете заменить исходный обменник там.

Смежные вопросы