在wordpress博客之外显示wordpress帖子的一些部分

时间:2012-06-20 09:57:58

标签: php wordpress

我在自定义构建的网站上有wordpress博客,我会根据下面的标签在wordpress博客上显示一些帖子到我的网站

require('../news/wp-blog-header.php');
                            $query = new WP_Query('tag=Dalaman');

                            if ($query->have_posts()):
                                while ($query->have_posts()) : $query->the_post();
                                    ?>
                                    <h3> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
                                    <p><?php the_content();?></p>
                                    <?php
                                endwhile;
                            endif;

the_content根据10 posts

显示来自wordpress数据库的WP_Query

问题:我想显示帖子的某些部分,比方说55个字符 帖子,在我的数据库中默认没有excerpt,我不想使用the_exerpt(),因为它会删除html标签,我的帖子在每个帖子的开头都包含<img>

我尝试了很多东西,但都失败了,我也使用了php的substr()功能,但在这种情况下它不起作用。

那么如何在图片中显示帖子的某些部分?

非常感谢。

亲切的问候!

2 个答案:

答案 0 :(得分:1)

http://codex.wordpress.org/Function_Reference/the_content

我建议你按照文章的说法进行操作,并在断点处插入<!--more--> - 这比剥离任意数量的字符更安全,因为你可能会破坏你的html标签。

如果您不关心,那么而不是

<?php the_content(); ?>

DO

<?php
$content = get_the_content(); //get the content as a string
$content = substr($content, 0, 55); //cut the first 55 characters
echo $content; //display it as usual
?>

答案 1 :(得分:1)

你可以像下面这样做,

$limit = 55;
                            $content = explode(' ', get_the_content(), $limit);

                            if (count($content) >= $limit) {
                                array_pop($content);
                                $content = implode(" ", $content) . '...';
                            } else {
                                $content = implode(" ", $content);
                            }
                            $content = preg_replace('/\[.+\]/', '', $content);
                            $content = apply_filters('the_content', $content);
                            $content = str_replace(']]>', ']]&gt;', $content);
                            echo $content;