Wordpress 可湿性粉剂查询通过自定义职位类型循环工作在主页上,但不是在搜索页面上
我有两种自定义的帖子类型,分别是艺术家和绘画。这两种帖子类型都有一个名为“艺术家名称”的自定义字段,该字段是使用高级自定义字段插件创建的。我需要能够将这两种帖子类型中的自定义字段相互匹配,以便显示更多信息 仅粘贴查询中的参数和循环。如有必要,将发布更多代码Wordpress 可湿性粉剂查询通过自定义职位类型循环工作在主页上,但不是在搜索页面上,wordpress,while-loop,custom-fields,advanced-custom-fields,Wordpress,While Loop,Custom Fields,Advanced Custom Fields,我有两种自定义的帖子类型,分别是艺术家和绘画。这两种帖子类型都有一个名为“艺术家名称”的自定义字段,该字段是使用高级自定义字段插件创建的。我需要能够将这两种帖子类型中的自定义字段相互匹配,以便显示更多信息 仅粘贴查询中的参数和循环。如有必要,将发布更多代码 <?php $artist_name = get_field('artist'); $args = array( 'post_type' => 'artists', 'meta_value' => $artist_name
<?php
$artist_name = get_field('artist');
$args = array(
'post_type' => 'artists',
'meta_value' => $artist_name
);
$query_artist = new WP_Query( $args );
if ( $query_artist->have_posts() ) {
while ( $query_artist->have_posts() ) {
$query_artist->the_post(); ?>
<p class="artist-name"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
<?php }
} else {
echo 'Artist not found';
}
wp_reset_postdata(); ?>
此代码在主页的模板文件中正常工作,但在搜索结果页面中始终打印“未找到艺术家”。我直接从主页模板复制了这段代码,所以拼写错误不是问题。很长一段时间以来,我一直在为这个伤脑筋。读过这篇文章的人会知道发生了什么吗
谢谢。我认为wordpress不会自动在搜索中包含自定义类型 您可以使用类似的插件或在functions.php中编写自己的函数
function rc_add_cpts_to_search($query) {
// Check to verify it's search page
if( is_search() ) {
// Get post types
$post_types = get_post_types(array('public' => true, 'exclude_from_search' => false), 'objects');
$searchable_types = array();
// Add available post types
if( $post_types ) {
foreach( $post_types as $type) {
$searchable_types[] = $type->name;
}
}
$query->set( 'post_type', $searchable_types );
}
return $query;
}
add_action( 'pre_get_posts', 'rc_add_cpts_to_search' );
示例来自好的,所以我终于得到了我想要的工作,但我不确定为什么下面的代码有效,而我的原始代码无效,因为它们都是执行新查询的类似方法 如果其他人有同样的问题,下面是代码:
<?php
// Permalink for artist
$artist_name = get_field('artist');
global $post;
$posts = get_posts( array( 'post_type' => 'artists', 'meta_value' => $artist_name ) );
if( $posts ):
foreach( $posts as $post ) :
setup_postdata($post); ?>
<p class="artist-name"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
<?php endforeach;
wp_reset_postdata();
endif; ?>
Hi。我使用一个名为WP Custom Search的插件来运行这个搜索页面。我一直在根据搜索结果输出正确的内容,但一旦我将您的代码添加到my functions.php,任何和所有搜索查询结果都将显示在“results not found”(结果未找到)消息中我希望搜索页面中的结果循环浏览自定义帖子类型,并从另一个自定义帖子类型的自定义字段中提取值。如何同时获取帖子图像?