Wordpress帖子摘要PHP节目摘录

时间:2013-10-18 08:27:00

标签: php wordpress

来自总newby的第一个问题。我想要显示12个最新的帖子标题,图像,摘录,作者,日期和时间。在我们网站的主页上发布的时间,不包括某些类别 - http://www.yorkmix.com。基本上与标准类别页面一样 - 请参阅http://www.yorkmix.com/category/opinion

由于各种原因,我想把它作为一个php小部件,并为此设置了网站。下面的代码显示了正确的标题和照片,但是当我添加摘录代码时,它只是一遍又一遍地显示相同的摘录以及相同的图像。我希望以一种摘录和照片似乎不允许的方式保持对样式的控制。

感谢您的帮助。

<?php

include($_SERVER['DOCUMENT_ROOT'] . $root . 'blog/wp-load.php');

$recent_posts = wp_get_recent_posts(array(
    'numberposts' => 12, 
    'category__not_in' => array(109,117),
    'post_status' => 'publish'
));

?>

<ul class="listing">
<?php foreach($recent_posts as $post) : ?>
    <li>
        <a href="<?php echo get_permalink($post['ID']) ?>">
            <?php echo get_the_post_thumbnail($post['ID'], 'thumbnail'); ?>
            <div><h2><?php echo $post['post_title'] ?></h2></div>
        </a>
    </li>
<?php endforeach; ?> 
</ul>

2 个答案:

答案 0 :(得分:2)

欢迎使用Wordpress开发,是的,这是新手的常见问题。我也有。

要保留代码,您可以使用$ post ['post_excerpt'];

但是,Wordpress使用了一个名为“The Loop”的不同逻辑,你应该尝试继续使用它:

$query_recent = new WP_Query(array(
    'numberposts' => 12, //The default is 10
    'category__not_in' => array(109,117),
    'post_status' => 'publish', //The default is publish already
    'post_type' => array('post', 'page') //could use only a string 'any' too
));

while($query_recent->have_posts()) {
    $query_recent->the_post();
?>
    <li>
        <a href="<?php the_permalink() ?>">
            <?php the_post_thumbnail('thumbnail'); ?>
            <div><h2><?php the_title() ?></h2> <?php the_excerpt(); ?></div>
        </a>
    </li>
<?php
}

通过循环,设置了一个全局变量,您可以使用没有帖子ID的简单函数。 检查一下,你将改进你的代码并理解插件:)

答案 1 :(得分:0)

在'for each'循环中使用:$ postObject = get_post($ post ['ID']);比使用post_excerpt字段,如:echo $ postObject-&gt; post_excerpt; 所以看起来应该是这样的:

<?php foreach($recent_posts as $post){
$postObject = get_post($post['ID']);
?>
<li>
<?=$postObject->post_excerpt?>
...