1

我想在 wordpress 中制作幻灯片,我为它创建了一个类别,现在我想为我的幻灯片获取该类别的图像。这是我的代码的一部分:

<div id="slide-show">
   <ul>
        <?php query_posts('cat=1'); while(have_posts()): the_post();?>
        <li>
            <a href="<?php the_permalink();?>">
            <img src="<?php
            $image=wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail');
            echo $image[0];?>" alt="<?php the_title();?>" /></a>
        </li>
        <?php endwhile; wp_reset_query();?>
    </ul>
</div>

但它不起作用。有人可以帮我吗?

4

1 回答 1

0

首先,我再重复一遍

首先,不要使用 query_posts.
请检查:


在这种情况下,我建议构建一个函数来创建所需的输出。你把它放在你的主题functions.php文件中。把它放在文件的末尾。如果PHP 文件最后
有任何内容,请将其删除,这不是必需的,如果后面有任何空白,可能会破坏您的网站。?>

也就是说,我们的函数将准确打印您想要的 Html,并且在任何主题模板文件(index.phpsingle.phppage.php等)中都像这样调用它。

<?php get_gallery(4); ?>

数字 4 是类别 ID。

这是函数,检查代码中的注释:

function get_gallery( $id )
{
    // Simple query
    $posts = get_posts( array(
        'category' => $id, 
        'post_status' => 'publish', 
        'post_type' => 'post', 
    ) );

    // Start building the Html code
    $slide_show = '
        <div id="slide-show">
            <ul>';

    // Iterate through the results
    foreach ( $posts as $post )
    {
        // Assign value and test if it exists at the *same time*
        if( $thumb = get_post_thumbnail_id( $post->ID ) )
        {
            $permalink = get_permalink( $post->ID );
            $image = wp_get_attachment_image_src( $thumb );

            // Build the Html elements
            $slide_show .= '
                <li>
                    <a href="' . $permalink . '">
                    <img src="'. $image[0] . '" alt="' . $post->post_title .'" />
                    </a>
                </li>';
        }
    }

    // Finish the Html
    $slide_show .= '
            </ul>
        </div>
    ';

    // Print the Html
    echo $slide_show;
}

结果:
html输出截图

于 2012-12-23T23:26:44.437 回答