我已经为我的Wordpress页面创建了一些自定义帖子,我可以很好地处理它们。我可以创建一个新的,编辑它,并将其显示在“archive-custom\\u post\\u type\\u name.php”和更多内容中。我甚至可以使用与普通帖子相同的类别。
我最大的问题是,我不能在我的网站上将它们显示为普通帖子。我想在普通帖子之间混合显示。
我尝试过:
add_action( \'pre_get_posts\', \'my_get_posts\' );
function my_get_posts( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set( \'post_type\', array( \'post\', \'actualizacion\', \'notificacion\' ) );
return $query;
}
但什么都没发生。我还尝试:
add_action( \'pre_get_posts\', \'add_mi_cpt\' );
/**
* @param WP_Query $query
* @return WP_Query
*/
function add_mi_cpt( $query ) {
if ( $query->is_main_query() )
$query->set( \'post_type\', array( \'post\', \'LISTA_CPT\' ) );
return $query;
}
在我的wp管理员中,我可以在正常帖子之间看到我的自定义帖子,但我的问题是,我的网页会给我一个404错误。
无论如何,创建自定义的帖子类型并像普通帖子一样使用主题,这样我就可以在我的网站中显示所有混合的主题了?
谢谢
---已编辑---
我更改了我的第一个片段,现在自定义帖子类型可以在我的WP Admin“Show all posts”页面中显示,但不在网站中显示:
function add_my_post_types_to_query( $query ) {
if ( is_admin() && $query->is_main_query() )
$query->set( \'post_type\', array( \'post\', \'My_Custom_Post_Type_List\' ) );
return $query;
}
add_action( \'pre_get_posts\', \'add_my_post_types_to_query\' );
---已编辑2.0---
也许下一步是更改页面中的循环。php来显示循环中的自定义帖子类型?我的循环如下所示:
<?php
if ( have_posts() ) :
// Start the Loop.
while ( have_posts() ) : the_post();
?>
<?php get_template_part( \'content\',\'page\' ); ?>
<?php
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
?>
<?php
endwhile;
endif;
?>