Пользовательский код для управления страницами с тем же именем, что и пользовательские типы записей в WordPress - PullRequest
0 голосов
/ 18 сентября 2018

Если я создаю страницы, я могу создавать собственные шаблоны php-файлов для их управления. например, страницу "Деревни" я могу использовать с "page-village.php вместо ее по умолчанию" page.php "

Тем не менее. Если у меня есть пользовательский тип записи с именем "town", и я пытаюсь создать страницу с именем "Towns", я не могу создать файл php с именем "page-towns.php", всегда по умолчанию "index.php"

Это может быть связано с регистрацией?

  register_post_type('town', array(  /* by default, the post type name is the SLUG for that post type*/
    'public' => true, /* makes post type visible to admins, editors, etc*/
    'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields'),
    'has_archive' => true, /* make post type have a archive URL */
    'rewrite' => array('slug' => 'towns'), /*plural name for the SLUG instead of default singular name */
    'labels' => array(
      'name' => 'Towns',
      'add_new_item' => 'Add New Town',
      'edit_item' => 'Edit Town',
      'all_items' => 'All Towns',
      'singular_name' => 'Town'
    ),
    'menu_icon' => 'dashicons-admin-multisite'
  ));

Есть ли способ обойти это?

1 Ответ

0 голосов
/ 18 сентября 2018

Вы ищите single- {post} .php файл шаблона .

Если файл single.php существует, Wordpress будет использовать его при просмотре одного сообщения.Пользовательские типы сообщений также будут использовать этот файл.Если вы хотите переопределить его, используйте single- {your-post-name} .php

В вашем случае вы бы использовали single-towns.php

-

Кроме того, я полагаю, что вы должны называть пользовательские типы постов единственными именами, поэтому, возможно, обновите, используя town в качестве названия вашего поста,тогда вы будете использовать single-town.php в качестве файла шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...