比较 WordPress 循环中的 ACF 字段以查看它们是否相同
Comparing an ACF field within a WordPress loop to see if they are the same
我有一个正在提取 ACF 字段的 WordPress 循环。我需要确定字段名称是否相同,如果相同,我想将它们包装在 div 中。我已经创建了一个自定义索引页面,但我们希望能够为具有与下拉列表相同的作者姓名的字段设置样式。所以我需要以某种方式比较它们是否相同。
这是我正在处理的网站http://test.improveyourenglish.com/library/
因此,例如,我想将 "Jane Austin" 包装在 div 中,以便我可以将其设置为下拉列表。
非常感谢任何帮助,我们将不胜感激。
这是我目前使用的代码
add_action('genesis_loop', 'book_archive_page');
function book_archive_page() {
echo '<div class="left-side">';
echo '<p>The following titles are sorted by author surnames.</p>';
?><div class="enter"><a href="#$term->name"><?php echo $term->name; ?>
</div></a><?php
$post_type = 'book';
// Get all the taxonomies for this post type
$taxonomies = get_object_taxonomies( array( 'post_type' => $post_type )
);
foreach( $taxonomies as $taxonomy ) :
// Gets every "category" (term) in this taxonomy to get the
respective posts
$terms = get_terms( $taxonomy );
foreach( $terms as $term ) : ?>
<section class="category-section">
<div class="row">
<div class="span12">
<a name="<?php echo $term->name; ?>"><h2 style="padding-
top: 300px; margin-top: -300px;"><?php echo $term->name; ?></h2>
</a>
</div>
<?php
$args = array(
'post_type' => $post_type,
'posts_per_page' => -1, //show all posts
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $term->slug,
)
)
);
$posts = new WP_Query($args);
if( $posts->have_posts() ): while( $posts->have_posts() ) :
$posts->the_post(); ?>
<div class="span4">
<article class="inner-post clearfix">
<div class="inner-content">
<a href="<?php echo get_permalink(); ?>" title="Read <?php echo get_the_title(); ?>"><div class="author-archive-text"><?php the_field('author_full_name'); ?></div><div class="title-archive-book"><?php echo get_the_title(); ?></div></a>
</div>
</article>
</div>
<?php endwhile; endif; ?>
</div>
<hr>
</section>
<?php endforeach;
endforeach; ?>
<?php
}
echo '</div>';
如果我理解你想要的是正确的,你需要做的是将 "current" 作者姓名记录在一个变量中,并在你的循环中使用它来将它与下一个作者姓名进行比较。如果是不同的作者,则结束前一个作者的包装器并为下一个作者启动一个新的包装器。
$current_author = ""; // variable to store the current author
$posts = new WP_Query($args); ?>
<div class="author-wrapper"> <!-- start the wrapper div for the first author -->
<?php if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post(); ?>
<?php
// check if we have a new author
if (the_field('author_full_name') != $current_author) {
// update current_author var to make the new author the current one
$current_author = the_field('author_full_name');
// close the previous author's wrapper and start a new one
?>
</div>
<div class="author-wrapper">
<?php } ?>
<div class="span4">
<article class="inner-post clearfix">
<div class="inner-content">
<a href="<?php echo get_permalink(); ?>" title="Read <?php echo get_the_title(); ?>"><div class="author-archive-text"><?php the_field('author_full_name'); ?></div><div class="title-archive-book"><?php echo get_the_title(); ?></div></a>
</div>
</article>
</div>
<?php endwhile; endif; ?>
</div> <!-- end the wrapper div for the last author -->
我有一个正在提取 ACF 字段的 WordPress 循环。我需要确定字段名称是否相同,如果相同,我想将它们包装在 div 中。我已经创建了一个自定义索引页面,但我们希望能够为具有与下拉列表相同的作者姓名的字段设置样式。所以我需要以某种方式比较它们是否相同。
这是我正在处理的网站http://test.improveyourenglish.com/library/ 因此,例如,我想将 "Jane Austin" 包装在 div 中,以便我可以将其设置为下拉列表。
非常感谢任何帮助,我们将不胜感激。
这是我目前使用的代码
add_action('genesis_loop', 'book_archive_page');
function book_archive_page() {
echo '<div class="left-side">';
echo '<p>The following titles are sorted by author surnames.</p>';
?><div class="enter"><a href="#$term->name"><?php echo $term->name; ?>
</div></a><?php
$post_type = 'book';
// Get all the taxonomies for this post type
$taxonomies = get_object_taxonomies( array( 'post_type' => $post_type )
);
foreach( $taxonomies as $taxonomy ) :
// Gets every "category" (term) in this taxonomy to get the
respective posts
$terms = get_terms( $taxonomy );
foreach( $terms as $term ) : ?>
<section class="category-section">
<div class="row">
<div class="span12">
<a name="<?php echo $term->name; ?>"><h2 style="padding-
top: 300px; margin-top: -300px;"><?php echo $term->name; ?></h2>
</a>
</div>
<?php
$args = array(
'post_type' => $post_type,
'posts_per_page' => -1, //show all posts
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $term->slug,
)
)
);
$posts = new WP_Query($args);
if( $posts->have_posts() ): while( $posts->have_posts() ) :
$posts->the_post(); ?>
<div class="span4">
<article class="inner-post clearfix">
<div class="inner-content">
<a href="<?php echo get_permalink(); ?>" title="Read <?php echo get_the_title(); ?>"><div class="author-archive-text"><?php the_field('author_full_name'); ?></div><div class="title-archive-book"><?php echo get_the_title(); ?></div></a>
</div>
</article>
</div>
<?php endwhile; endif; ?>
</div>
<hr>
</section>
<?php endforeach;
endforeach; ?>
<?php
}
echo '</div>';
如果我理解你想要的是正确的,你需要做的是将 "current" 作者姓名记录在一个变量中,并在你的循环中使用它来将它与下一个作者姓名进行比较。如果是不同的作者,则结束前一个作者的包装器并为下一个作者启动一个新的包装器。
$current_author = ""; // variable to store the current author
$posts = new WP_Query($args); ?>
<div class="author-wrapper"> <!-- start the wrapper div for the first author -->
<?php if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post(); ?>
<?php
// check if we have a new author
if (the_field('author_full_name') != $current_author) {
// update current_author var to make the new author the current one
$current_author = the_field('author_full_name');
// close the previous author's wrapper and start a new one
?>
</div>
<div class="author-wrapper">
<?php } ?>
<div class="span4">
<article class="inner-post clearfix">
<div class="inner-content">
<a href="<?php echo get_permalink(); ?>" title="Read <?php echo get_the_title(); ?>"><div class="author-archive-text"><?php the_field('author_full_name'); ?></div><div class="title-archive-book"><?php echo get_the_title(); ?></div></a>
</div>
</article>
</div>
<?php endwhile; endif; ?>
</div> <!-- end the wrapper div for the last author -->