0

一个完全新手的第一个问题。我想在我们网站的主页 - http://www.yorkmix.com上显示 12 个最新的帖子标题、图像、摘录、作者、发布日期和时间,不包括某些类别。基本上就像现在的标准类别页面一样 - 请参阅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>
4

2 回答 2

3

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

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

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

$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 的简单函数。看看这个,你会改进你的代码并理解插件:)

于 2013-10-18T08:55:32.430 回答
0

在你的'for each'循环中使用: $postObject = get_post($post['ID']); 而不是使用 post_excerpt 字段,例如: echo $postObject->post_excerpt; 所以它应该是这样的:

<?php foreach($recent_posts as $post){
$postObject = get_post($post['ID']);
?>
<li>
<?=$postObject->post_excerpt?>
...
于 2013-10-18T10:08:58.000 回答