Как получить раскрывающееся меню шаблона в атрибутах страницы произвольного типа записи?
4 ответ
- голосов
-
- 2011-12-01
Таким образом нельзя применять шаблоны к пользовательским типам сообщений.Это будет отображаться,только если тип сообщения - «страница» (проверьте строку 568 wp-admin/includes/meta-box.php).Однако,если вы хотите стилизовать все свои индивидуальные типы сообщений таким же образом,но отличаться от других типов сообщений,вы можете использовать single- [posttype] .php -> http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
You can't apply templates to custom post types in this manner. That will show up only if the post type is 'page' ( Check the wp-admin/includes/meta-boxes.php line 568 ). However if you want to style all your single custom post types in the same manner but different from other post types you could use the single-[posttype].php -> http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
-
Да спасибо.Жаль,что у них еще нет этой функции.Yeah, thanks. It's too bad they don't have this feature yet.
- 0
- 2012-02-06
- rpeg
-
Выпадающий список шаблонов по-прежнему не поддерживается в пользовательских типах сообщений начиная с версии 4.1?Is the template dropdown still not supported in custom post types as of 4.1?
- 0
- 2015-02-12
- supertrue
-
Вы/кто-нибудь нашел решение для отображения атрибута страницы/выбора шаблона для CUSTOM POST TYPE??did u / anyone found the solution to show the page attribute / template selection for CUSTOM POST TYPE??
- 0
- 2015-03-27
- Riffaz Starr
-
- 2017-05-04
Что ж,в Wordpress 4.7 настраиваемые шаблоны также доступны для настраиваемых типов сообщений,при определении шаблона под именем шаблона добавьте еще одну строку,например (где 'product' - ваш настраиваемый тип сообщения):
<?php /* Template Name: My custom layout Template Post Type: post, page, product */ // your code here
и не забудьте добавить атрибуты страницы при регистрации вашего пользовательского типа сообщения:
'supports' => array('title', 'page-attributes'),
для отображения поля «Атрибуты публикации».
Well, as of Wordpress 4.7 custom templates are also available to custom post types, when defining a template, below the name of the template add another line like (where 'product' is your custom post type):
<?php /* Template Name: My custom layout Template Post Type: post, page, product */ // your code here
and remember to add 'page-attributes' when registering your custom post type:
'supports' => array('title', 'page-attributes'),
to display the "Post attributes" box.
-
Успешно справился!именно то,что мне нужно.nailed it! exactly what I needed.
- 0
- 2018-12-10
- Marty McGee
-
Подробнее об этом здесь: [https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/]] (https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/)More info on this here: [https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/](https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/)
- 0
- 2020-05-26
- Dvaeer
-
Понятия не имел об этом.Благодаря!Had no idea about this. Thanks!
- 0
- 2020-07-06
- Keith Donegan
-
- 2017-08-30
В своей теме я использую «виртуальные» шаблоны. В моей теме нет конкретных файлов
{template}.php
,поэтому я отфильтровал шаблоны PAGE следующим образом:function my_virtual_templates( $templates ) { $my_virtual_templates = array( 'virtual_template_id_1' => 'Template 1', 'virtual_template_id_2' => 'Template 2', 'virtual_template_id_3' => 'Template 3' ); // Merge with any templates already available $templates = array_merge( $templates, $my_virtual_templates ); return $templates; } add_filter( 'theme_page_templates', 'my_virtual_templates' );
Когда я наткнулся на это сообщение,я искал "простой" способ добавить фактическое мета-поле сообщения в пользовательский тип сообщения (CPT). Поскольку мой новый CPT будет использовать тот же массив «виртуальных» шаблонов,мне просто нужно было установить мета-поле сообщения.
Использование темы _ {$post_type} _templates Автоматически создает метаданные этого сообщения. площадь коробки для меня. Итак,где мой CPT называется
my_cpt
,я добавил фильтр следующим образом:add_filter( 'theme_my_cpt_templates', 'my_virtual_templates');
Теперь появляются мета-поле и селектор,и я даже могу изменить его на экране массового редактирования,поскольку все это встроено. Очень удобно!
With my theme, I provide "virtual" templates. There are no specific
{template}.php
files in my theme, so I filtered the PAGE templates like so:function my_virtual_templates( $templates ) { $my_virtual_templates = array( 'virtual_template_id_1' => 'Template 1', 'virtual_template_id_2' => 'Template 2', 'virtual_template_id_3' => 'Template 3' ); // Merge with any templates already available $templates = array_merge( $templates, $my_virtual_templates ); return $templates; } add_filter( 'theme_page_templates', 'my_virtual_templates' );
I was looking for a "simple" way to add the actual post meta box on a Custom Post Type (CPT) when I came across this post. Since my new CPT will use this same array of "virtual" templates, I just needed to get a post meta box in place.
Using the theme_{$post_type}_templates It automatically creates this post meta box area for me. So where my CPT is called
my_cpt
I added the filter like so:add_filter( 'theme_my_cpt_templates', 'my_virtual_templates');
Now, the meta box and selector shows up, and I can even change on the bulk edit screen since this is all built in. Very handy!
-
- 2018-10-23
просто создайте любой файл шаблона и установите в заголовке шаблона следующее:
/* Template Name: Some Name Template Post Type: your_type, page */
затем в поле "Атрибуты публикации" появляется селектор шаблонов
just create any template file and set in header of template this:
/* Template Name: Some Name Template Post Type: your_type, page */
then template selector appears in 'Post Attributes'
Когда я регистрирую свой собственный тип сообщения,я устанавливаю следующее:
Итак,я предлагаю видеть «порядок»,«шаблоны»,«родители» в поле «Атрибуты» при создании нового сообщения.Но я не вижу раскрывающегося списка «шаблоны». Что еще мне нужно сделать,чтобы разрешить выбор «шаблонов»?