wp_list_pages 和 afc(高级自定义字段)
Posted
技术标签:
【中文标题】wp_list_pages 和 afc(高级自定义字段)【英文标题】:wp_list_pages with afc (advanced custom fields) 【发布时间】:2013-06-29 20:17:34 【问题描述】:除了 afc 之外,我还会在侧边栏中使用 wp_list_pages。
列表页面的常规输出是这样的
<ul>
<li>page 1</<li>
<li>page 2</<li>
<ul>
<li>page 2.1</<li>
<li>page 2.2</<li>
<li>page 2.3</<li>
</ul>
<li>page 3</<li>
<li>page 4</<li>
<li>page 5</<li>
<li>page 6</<li>
</ul>
有些页面有自定义字段,我想要这样的东西
<ul>
<li>page 1</<li>
<li>page 2 <span> - **custom field info**</span></<li>
<ul>
<li>page 2.1</<li>
<li>page 2.2<span> - custom field info</span></<li>
<li>page 2.3</<li>
</ul>
<li>page 3</<li>
<li>page 4<span> - custom field info</span></<li>
<li>page 5</<li>
<li>page 6</<li>
</ul>
我尝试了常规的 wordpress 自定义字段:
wp_list_pages("title_li=".$post->ID."&meta_key=key");
但这会过滤并仅向我显示带有键的页面,而不是其他页面。 我该如何解决这个小问题?任何(其他)想法?
谢谢
【问题讨论】:
【参考方案1】:你需要这样做:
$args = array(
'post_type' => 'page',
);
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() )
echo '<ul>';
while ( $query->have_posts() )
$query->the_post();
if ( get_field( "field_name" ) )
$custom_field_value = ' <span>' . get_field( "field_name" ) . '</span>';
else
$custom_field_value = '';
echo '<li>' . get_the_title() . $custom_field_value . '</li>';
echo '</ul>';
else
// no posts found
/* Restore original Post Data */
wp_reset_postdata();
【讨论】:
以上是关于wp_list_pages 和 afc(高级自定义字段)的主要内容,如果未能解决你的问题,请参考以下文章
从 AFC 自定义字段变量中获取 ID 的 foogallery php 短代码不显示