wp_list_pages with afc(高级自定义字段)

时间:2013-07-02 12:45:23

标签: wordpress wordpress-plugin custom-fields advanced-custom-fields

除了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 个答案:

答案 0 :(得分: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();