用于识别多个自定义帖子类型的数组?

时间:2013-08-06 05:18:09

标签: php arrays wordpress

我目前正在使用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' );}

        ?>

我必须让content-movies.php文件的if参数最终被识别,我想要的是

A&GT;使非自定义帖子类型的帖子只使用content.php

B个一个if数组来查找各种帖子类型,例如电影,书籍,社论

c取代;使每个自定义帖子类型查找其适当的内容 - [post type] .php AND single- [post type] .php

到目前为止,我已成功实现了&gt;但对于b&amp; c我遇到的问题是我的第二个帖子类型'books',我仍然使用content.php文件而不是content-books.php。 [编辑]要明确它导致索引中出现的书籍类型重复,一个使用content-books.php,另一个使用content.php

我还必须在functions.php文件中添加一些自定义代码以使CPT正常工作,并且如果怀疑它是原因,也可以显示。

1 个答案:

答案 0 :(得分: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' );}

    ?>