Проблема с одиночной страницей для моего пользовательского сообщения

Я работаю над сайтом с разделом портфолио, и я почти закончил этот раздел, но у меня проблема с единственной страницей, которая:

  • всякий раз, когда я нажимаю на любую ссылку на портфолио, открывается одна страница, но не отображается никаких деталей, кроме предыдущей и следующей ссылок, и это работает правильно.
  • Также он использует single.php, и я не могу его изменить.

Принимая во внимание мою основную ссылку на ссылку ( наш портфель ) и пользовательскую почту (slug = portfolio) .

Я пробовал этот шаг:

  • Я создал новую единственную страницу с именем (single-portfolio.php) и поместил ее в то место, где мой (single.php) работает, но не работает.

ОБНОВИТЬ

мои пользовательские сообщения args:

$args = array( 'labels' => $labels, 'public' => true, 'menu_icon'=> 'dashicons-groups', 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => 'portfolio', 'with_front' => true), 'query_var' => true, 'show_in_nav_menus'=> false, 'exclude_from_search' => true, 'supports' => array('title', 'excerpt', 'page-attributes') ); register_post_type( 'port', $args ); 

Надеюсь, я ничего не пропустил.

Solutions Collecting From Web of "Проблема с одиночной страницей для моего пользовательского сообщения"

Ваш код выглядит single.php , поэтому вам нужно взглянуть на код в вашем шаблоне single.php , поскольку я подозреваю, что в этом шаблоне что-то не так, потому что ничего не отображается. Вы должны установить debug в true в wp-config.php. Это должно помочь вам найти вашу проблему

Во-вторых, ваш single-posttype.php неправильно назван. Тип вашего сообщения зарегистрирован как «порт», и вы используете «портфолио». Вы должны указать свой шаблон одной страницы так же, как ваш зарегистрированный тип сообщения. Таким образом, у вас единственный шаблон должен быть именем single-port.php

Просто для дополнительной информации, вот небольшой трюк, чтобы заставить шаблон использовать для пользовательского типа сообщения

 function wpse_template_include( $original_template ) { if ( isset( $wp->query_vars['port'] ) && false == $wp->query_vars['port'] ) { return get_template_directory() . '/single-port.php'; } else { return $original_template; } } add_filter( 'template_include', 'wpse_template_include' );