这是我头版的代码。php模板
<?php
add_filter( \'genesis_markup_site-inner_output\', \'__return_false\' );
add_filter( \'genesis_markup_content_output\', \'__return_false\' );
add_filter( \'genesis_pre_get_option_site_layout\', \'__genesis_return_full_width_content\' );
//* Remove page titles site wide (posts & pages) (requires HTML5 theme support)
remove_action( \'genesis_entry_header\', \'genesis_do_post_title\' );
//* Remove the entry header markup (requires HTML5 theme support)
remove_action( \'genesis_entry_header\', \'genesis_entry_header_markup_open\', 5 );
remove_action( \'genesis_entry_header\', \'genesis_entry_header_markup_close\', 15 );
// Execute custom home page. If no widgets active, then loop
remove_action( \'genesis_before_header\', \'vm_utility_bar\' );
add_action( \'genesis_meta\', \'vm_custom_home_loop\' );
function vm_custom_home_loop() {
global $post;
remove_action( \'genesis_loop\', \'genesis_do_loop\' );
add_action( \'genesis_before_content\', \'vm_home\' );
}
// Home Top Gallery section
function vm_home() {
echo \'<main class="content">\';
vm_home_do_top();
vm_home_do_bottom();
echo \'</main>\';
}
function vm_home_do_top() {
echo \'<section id="home-top"><div class="home-top clearfix">\';
echo \'<div class="home-top-left two-thirds first">\';
if ( function_exists( \'soliloquy\' ) ) {
soliloquy( \'rotating-videos\', \'slug\' );
} else { if (is_active_sidebar( \'home-video\' )) {
genesis_widget_area( \'home-video\', array(
\'before\' => \'<aside class="home-video video-container">\',
\'after\' => \'</aside>\',
) );
}
}
echo \'</div><!--end home-top-left-->\';
echo \'<div class = "home-top-right one-third">\';
if ( is_active_sidebar( \'home-right\' ) ) {
genesis_widget_area( \'home-right\', array(
\'before\' => \'<aside class="home-right">\',
\'after\' => \'</aside>\',
) );
}
echo \'</div><!--end home-top-right-->\';
echo \'</div><!--end home-top --></section><!-- end home-top -->\';
}
// Home posts section
function vm_home_do_bottom() {
echo \'<section id="home-bottom"><div class="home-bottom clearfix">\';
echo \'<aside class="home-bottom-left widget-area one-third first">\';
echo \'<h4>Recent Posts: </h4>\';
echo \'<ul class="home-posts-list">\';
wp_get_archives( \'type=postbypost&limit=100\' );
echo \'</ul>\';
echo \'</aside>\';
echo \'<aside class="home-bottom-right widget-area two-thirds last">\';
wp_reset_query();
$args = ( array( \'post_type\' => \'shows\', \'paged\' => $paged ) );
$vmQuery1 = new WP_Query( $args );
while ( $vmQuery1->have_posts() ) : $vmQuery1->the_post();
$postID = get_the_ID();
$postDate = get_the_date(\'\', $postID);
$postType = get_post_type( $postID );
echo \'<p>The $postID is \' . $postID . \' The $postDate is \' . $postDate . \' The $postType is \' . $postType . \'</p>\';
the_title();
echo \'<div class="entry-content">\';
the_content();
echo \'</div>\';
endwhile;
wp_reset_postdata();
echo \'</aside>\';
//) );
echo \'</div></section><!-- end home-bottom -->\';
}
genesis();
post类型、日期和ID的回显严格用于故障排除。
对自定义职位类型的查询将返回所有职位类型,包括显示的职位类型。当我将相同的查询放入自己的模板中时,它工作正常,只返回显示。
我肯定错过了一些明显的东西,我希望这里的人能向我解释如何仅在头版的活动查询中隔离自定义帖子类型。这必须是可能的。
提前感谢您的有益贡献。
附录:我刚刚注意到,在我返回网站上所有帖子类型(不应该)的查询中,它将自定义帖子类型标识为“post”,而不是“shows”,即使它的帖子ID和发布日期是正确的。它不会返回节目的标题或任何内容。
然而,存档上的相同查询显示。php returns只显示了这一点,显然是在非首页的模板上。php,代码知道要查找什么以及如何使用我的查询处理它。
附录2:我已经开始工作了。上面的代码正在检索除头版上的自定义帖子类型之外的所有内容。php。正如我所指出的,对归档故事的相同查询。php工作正常。
这些是我对头版所做的代码更改。php模板。
在页面顶部,我添加了以下功能:
add_action( \'pre_get_posts\', \'vm_get_shows\' );
function vm_get_shows ( $query ) {
$query->set(\'post_type\', array( \'post\', \'page\', \'nav_menu_item\', \'shows\' ) );
}
对查询部分进行了如下修改:
echo \'<aside class="home-bottom-right widget-area two-thirds last">\';
wp_reset_query();
$args = array( \'post_type\' => \'shows\' );
$vmQuery1 = new WP_Query( $args );
if ( $vmQuery1->have_posts() ) : while ( $vmQuery1->have_posts() ) : $vmQuery1->the_post();
$postID = get_the_ID();
$postDate = get_the_date(\'\', $postID);
$postType = get_post_type( $postID );
$postTitle = get_the_title($postID);
if ( $postType == \'shows\' ) {
echo \'<p>The $postID is \' . $postID . \' The $postDate is \' . $postDate . \' The $postType is \' . $postType . \'</p>\';
the_title();
echo \'<div class="entry-content">\';
the_content();
echo \'</div>\';
}
endwhile;
endif;
wp_reset_postdata();
echo \'</aside>\';
所以现在我的问题是:为什么我必须进行冗余检查以确保postType在查询中显示第二条if语句?post\\u type=>\'shows\'的参数不应该在头版处理这个问题吗。php模板?