1

我在我的自定义网站中有 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()功能,但在这种情况下它不起作用。

那么我怎样才能将帖子的某些部分与图像一起显示?

十分感谢。

亲切的问候 !

4

2 回答 2

1

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

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

如果你不关心这个,那么而不是

<?php the_content(); ?>

<?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
?>
于 2012-06-20T10:06:33.247 回答
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;
于 2012-06-20T11:28:17.810 回答