WordPress blog_content字符限制

时间:2013-12-11 10:39:41

标签: php wordpress blogs php-include

Stack的好人,我再次需要你的协助。

我目前有一个外部网站,可以从包含WordPress安装的子文件夹中提取博客内容,例如:

网站A:外部静态网站 网站B:WordPress安装

我使用以下代码在网站A的主页上发布了帖子。

WordPress电话:

<?php  
//db parameters  
$db_username = '###';  
$db_password = '###';  
$db_database = '###';  

$blog_url = 'http://www.website.com/blog/';

//connect to the database  
mysql_connect('###', $db_username, $db_password);  
@mysql_select_db($db_database) or die("Unable to select database");  

//get data from database -- !IMPORTANT, the "LIMIT 5" means how many posts will appear. Change the 5 to any whole number.  
$query = "Select * FROM wp_posts WHERE post_type='post' AND post_status='publish' ORDER BY id DESC LIMIT 1";   

$query_result = mysql_query($query);  
$num_rows = mysql_numrows($query_result);  

//close database connection  
mysql_close();  

// html page starts after 
?>  

博客文章包含:

<div class="contentBox">
    <?php  
    for($i=0; $i< $num_rows; $i++){   

   //assign data to variables, $i is the row number, which increases with each run of the loop  
   $blog_date = mysql_result($query_result, $i, "post_date");  
   $blog_title = mysql_result($query_result, $i, "post_title");  
   $blog_content = mysql_result($query_result, $i, "post_content");  
   //$blog_permalink = mysql_result($query_result, $i, "guid"); //use this line for p=11 format.  

   $blog_permalink = $blog_url . mysql_result($query_result, $i, "post_name"); //combine blog url, with permalink title. Use this for title format  

                        //format date  
                        $blog_date = strtotime($blog_date);  
                        $blog_date = strftime("%b %e", $blog_date);  

                        //the following HTML content will be generated on the page as many times as the loop runs. In this case 5.  
                        ?>
                        <div class="post"></div>  
                        <img src="img/headers/news-from.png" /><br />

                                <p class="blogName"><a href="http://www.website.com/blog"><?php echo $blog_title; ?></a></p>  

                                <p style="margin-top: -10px; margin-right: 10px;"><?php echo $blog_content;?></p>  

                                <p>Submitted on: <span class="green"><?php echo $blog_date; ?></span></p>   

                                <p><a href=”<?php echo $blog_permalink; ?>”>Read Full Post</a></p>  
                        <?php  
                            } //end the for loop  
                        ?>
                    </div>

这完美无缺,它拉出必要的帖子并显示它,所有格式都很奇妙等等。我遇到的问题是我真的需要限制拉过的字符数,因为它的立场,这个当前的回声是整个帖子,我只需要回显帖子的前15个字符。任何想法都将不胜感激。

3 个答案:

答案 0 :(得分:2)

您可以通过回显以下内容来限制字符输出。

来自:

 <p style="margin-top: -10px; margin-right: 10px;"><?php echo $blog_content;?></p>

要:

 <p style="martin-top: -10px; margin-right: 10px;"><?php echo substr($blog_content,0,40); ?></p>

答案 1 :(得分:2)

对于复杂的问题,这似乎是一个简单的解决方案,但为什么不使用substr来减少帖子?

你甚至可以通过设置一个单独的变量来做到这一点吗?

e.g。

$trimmed_post = substr($blog_content, 0,15);

所有这一切都是创建一个新变量显示在页面上,该变量从$blog_content变量的字符0开始,并在15个字符后切断。

答案 2 :(得分:1)

一种方法是删除行

echo $blog_content;

并将其替换为

echo substr(strip_tags($blog_content), 0, 50);

将50改为所需的长度。