在前面的章节中,我们介绍过如何为wordpress cms主题添加自定义文章类型,也介绍过自定义文章类型的用处。在我们添加了自定义文章类型并在这个自定义文章类型里发布了文章,我们会发现,在wordpress网站的首页没有显示这些自定义文章类型的文章,这是怎么回事?有许多情况下,我们客户的站可能需要或只需要在首页显示这些自定义文章类型的文章哦。那么,怎样让wordpressCMS主题首页只显示自定义文章类型呢?
其实,实现起来也是很简单的,只需在wordpress主题的functions.php文件中添加如下代码:
- function ashuwp_posts_per_page($query){
- if ( (is_home() || is_search()) && $query->is_main_query() )//首页或者搜索页的主循环
- $query->set( ‘post_type’, array( ‘book’ ) ); //只显示book自定义类型,
- //$query->set( ‘post_type’, array( ‘post’, ‘book’ ) ); //主循环中显示post和book
- return $query;
- }
- add_action(‘pre_get_posts’,’ashuwp_posts_per_page’);
代码的意思是,只在wordpress的首页和搜索页的主循环中使用。其中“ book”是wordpress主题的自定义文章类型的名称,如果你的wordpress主题的自定义文章类型的名称不是 book,这里请把book改成你的wordpress自定义文章类型名。如果想在wordpress主题首页既显示自定义文章类型,也显示普通post文章,那就把上面代码中的第三句注销,并且取消第四句的注销,就可以了。
在制作某些wordpress主题时,这段代码还是非常管用的,比如一些特别的主题:wordpress电影视频主题、wordpress导购主题、wordpress房产主题、wordpress导航主题、wordpress企业主题等。在这些主题中我们使用自定义文章类型可以大大方便主题的制作,而这时,要想在首页显示这些自定义文章类型的文章,就要使用到这段代码了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。