我想创建一个自定义查询循环,根据当前帖子标题显示数据。
伪代码:
if post title = custom filed
Show related content
我有一个页面叫做
artists
由自定义字段组成,我想为这位艺术家展示唱片库。通过仅从另一个自定义帖子类型的discography帖子中提取具有艺术家姓名的帖子。
我发现this page 这很接近,但并不完全正确。
我有一个自定义的帖子类型,叫做discography
, 在这个帖子类型中,我有一个自定义字段,名为dis_artist
.
我一直无法说出当前艺术家“post title”=“dis\\u artist”是否显示其他数据。我该怎么做?
嗨,我试过了,但我不确定我的语法是否正确。这段代码位于当前post循环中
<?php
$args = array( \'post_type\' => \'discography\', \'posts_per_page\' => -1 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php
if ( get_the_title() === get_post_meta( get_the_ID(), "dis_artist", true ) ) { ?>
<?php the_title(); ?>
<?php } ?>
<?php endwhile; ?>
SO网友:Jonathan
是否使用高级自定义字段?它们有自己的内置函数来查找自定义字段。
if (get_field(\'dis_artist\'))
{
//do stuff here
// the_field(\'dis_artist\') is the same as $dis_artist = dis_artist; echo $dis_artist
}
你的标题有点混乱。
如果将ACF字段设置为变量,则可以在循环内对其进行测试:
if (get_field(\'your_acf_field\')
{
$your_acf_field = get_field(\'your_acf_field\');
}
$args = array( \'post_type\' => \'discography\', \'posts_per_page\' => -1 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
if ($your_acf_field == the_title()) : echo the_title();
else :
//do something else here if it is not
endif;
<?php endwhile; ?>
此代码未经测试,因此您可能需要对其进行调整。但它会测试acf字段是否已设置,如果已设置,则会将其设置为变量。在循环内部,测试标题是否等于变量。如果是,则显示它。如果没有,您可以让它执行其他操作,如echo“未找到”;
SO网友:joachim
嗨,我试过了,但我不确定我的语法是否正确。这段代码位于当前post循环中
<!-- Start the main loop -->
<?php the_title(); ?>
我想使用此标题作为查询自定义字段的主要参考
<?php
$args = array( \'post_type\' => \'discography\', \'posts_per_page\' => -1 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php
if ( get_the_title() === get_post_meta( get_the_ID(), "dis_artist", true ) ) { ?>
<?php the_title(); ?>
<?php } ?>
<?php endwhile; ?>
<?php endwhile; ?> <!-- End the main loop -->