2013-12-03 9 views
0

У меня есть собственный почтовый тип, как этоткосяк показать детали поста-таможенного пост-типа -wordpress

add_action('init', 'create_post_type_feedback'); 

function create_post_type_feedback() { 
    register_post_type('testimonial', 
     array(
      'labels' => array(
       'name' => __('Feedbacks'), 
       'singular_name' => __('Feedback') 
      ), 
      'supports' => array('title','editor','thumbnail','custom-fields'), 
      'public' => true, 
      'has_archive' => true, 
     ) 
    ); 
} 

На странице я показываю список отзывов и с помощью функции() тег get_permalink к получить гиперссылку. Чтобы показать подробности тестового сообщения, у меня есть «single-testimonial.php», но всякий раз, когда я нажимаю для просмотра деталей отзыва, он перенаправляет меня на ссылку типа «..../testimonial/postname». Хотя есть один-отзыв. php, он показывает мне контент 404.php.

Как я могу показать детали сообщения пользовательского типа?

ответ

1

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

'public' => true,       // yes you want it to be public? 
'show_ui' => true,       // you want it shown in the admin area 
'show_in_menu' => true,      // show it in menus etc.. 
'rewrite' => array('slug' => 'testimonial'), // this is the permalink structure 
'show_in_nav_menus' => true,     // show in navigation menus 
'publicly_queryable' => true,    // include this in searches 
'query_var' => true,       // do you want to pass values? 
'capability_type' => 'post',     // is it like a post or page? 
'menu_position' => 25,      // the position on the admin menu! 

добавления слизняка должен сделать трюк, ВНИМАНИЕ: после того, как установлен slug, перейдите в settings-> permalinks, установите значение по умолчанию, затем вернитесь к postname, чтобы сбросить правила повторной записи, и поэтому WordPress знает его там и работает! что следует сделать трюк, вам не нужно добавлять код шаблона в любые файлы,

просто добавить одинарной testimonial.php и он должен работать или страницы testimonial.php в зависимости, как вы хотите его установку ..

Marty

+0

С благодарностью @Marty. Он отлично работает :) –

0

В вашей одиночной testimonial.php, убедитесь, что у вас есть эта линия в верхней части:

// Template Name: Single Testimonial template 

Это так Wordpress может знать, что это файл шаблона и позволит вам выбрать его из " раздел атрибутов страницы, когда вы создаете отзыв.

Во-вторых, используйте функцию get_post_permalink() вместо get_permalink(). Вот why

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