2013-08-06 3 views
0

Я в настоящее время использую рамки underscores.me для разработки темы Wordpress. Я буду использовать несколько настраиваемых типов сообщений в теме, причем с добавлением большего количества времени, так что мне интересно, как заставить массив получить различные файлы шаблонов, которые будут распознаны. В настоящее время на моем index.php я использую следующее -Массив для распознавания нескольких пользовательских типов сообщений?

<?php if(array('movies','books') != get_post_type()) { 
    get_template_part('content', get_post_format());} 
     ?> 

     <?php if('movies' == get_post_type()) { 

     get_template_part('content', 'movies');} 

     elseif('books' == get_post_type()) { 

     get_template_part('content', 'books');} 

     ?> 

я должен был сделать, если аргументы для файла содержимого movies.php быть, наконец, признали, и то, что я хотел бы это

a> чтобы сообщения, не относящиеся к персонализированным сообщениям, использовали только content.php

b> массив if для поиска различных типов сообщений, например фильмы, книги, редакционные

с> чтобы каждый таможенный пост типа внешний вид для соответствующего контент- [сообщение типа] .php И одинарной [Тип сообщение] .php

До сих пор я был успешным в достижение a>, но для b & c проблемой, которую я имею, является то, что мой второй тип сообщения, «книги», я все еще использую файл content.php вместо content-books.php. [РЕДАКТИРОВАТЬ], чтобы быть понятным, это вызывает дублирование типов записей в журнале, которые появляются в индексе, один из которых использует content-books.php, а другой - с помощью content.php

Мне также пришлось добавить некоторый код для функции functions.php файлы, чтобы заставить CPT работать, и может показать это, если это, как предполагается, является причиной.

ответ

0

Попробуйте

<?php if(in_array('movies','books') != get_post_type()) { 
     get_template_part('content', get_post_format());} 
    ?> 

    <?php if('movies' == get_post_type()) { 

    get_template_part('content', 'movies');} 

    elseif('books' == get_post_type()) { 

    get_template_part('content', 'books');} 

    ?> 
+0

Когда я использую раздел, если не я получаю сообщение об ошибке Предупреждение: in_array() ожидает параметр 2 будет массив, и это также вызывает все типы пользовательских сообщений дублировать, с одним из них используя их правильный файл .php и другие, используя файл content.php. Второй раздел работает, но пока только для того, чтобы восстановить правильные файлы шаблонов post, но только для «фильмов» в качестве «книг» все еще есть дубликат сообщения с одним из них, используя content.php и другие, используя его правильный файл. – WPNovice

+0

Попробуйте < ? php if (! in_array (get_post_type(), array ('movies', 'books')))?> –

+0

работал, очень понравилось! – WPNovice

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