Wordpress侧栏上子列表中的缩略图图像

时间:2019-06-19 07:39:21

标签: php wordpress

我正在尝试在WordPress侧边栏列表的子列表中获取缩略图。我不知道如何集成缩略图的代码。请帮助我。

下面是我的代码:

.local

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用函数。编写WP_Query以在子列表中获取缩略图图像。它将作为wp_list_pages。

function wpb_list_child_pages() {

global $post;

if ( is_page() && $post->post_parent )
$child_pages_query_args = array(
    'post_type'   => 'page',
    'post_parent' => $post->post_parent ,
    'orderby'     => 'menu_order'
);
else
$child_pages_query_args = array(
    'post_type'   => 'page',
    'post_parent' => $post->ID,
    'orderby'     => 'menu_order'
);

$child_pages = new WP_Query( $child_pages_query_args );

if ( $child_pages->have_posts() ) :
?>
<ul class="child_page_row">
<?php 
while ( $child_pages->have_posts() ) : $child_pages->the_post();
    ?>
    <li>
        <a href="<?php the_permalink(); ?>">
        <?php if(has_post_thumbnail()): ?>
            <div class="child_page_thumb">
                <?php the_post_thumbnail(array(240, 240)); ?>
            </div>
            <?php endif; ?>
                <div class="child_page_name">
                <?php the_title(); ?>
                </div>
        </a>
    </li>
<?php
endwhile; 
?>
</ul>
<?php    
endif;

wp_reset_postdata();
}

add_shortcode('wpb_childpages', 'wpb_list_child_pages');

答案 1 :(得分:0)

您可以创建自定义查询,并且可以在该查询中根据条件更改参数。在循环中,您可以使用the_post_thumbnail()显示帖子的特色图片。

function wpb_list_child_pages() {
    global $post;
    ob_start();

    $qargs = array(
        'posts_per_page' => 10,
        'post_type'      => 'page',
        'orderby'        => 'menu_order',
    );

    if ( is_page() && $post->post_parent ) {
        $qargs['post_parent'] = $post->post_parent;
    } else {
        $qargs['post_parent'] = $post->ID;
    }

    $the_query = new WP_Query( $qargs );
    ?>
    <?php if ( $the_query->have_posts() ) : ?>
        <ul class="list-unstyled">
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
            <li>
                <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
                <?php if ( has_post_thumbnail( ) ) : ?>
                    <?php the_post_thumbnail( 'post-thumbnail' ); ?>
                <?php endif; ?>
            </li>
        <?php endwhile; ?>
        <?php wp_reset_postdata(); ?>
        </ul>
    <?php endif; ?>
    <?php
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}

add_shortcode( 'wpb_childpages', 'wpb_list_child_pages' );