提出问题
我们在做wordpress主题的时候,想在主题设置的某个位置专门来显示作者网站里某个分类下的文章;或者我们想在站外调用wordpress网站内的文章,我们该如何操作呢?
解决方法
步骤一:
那么我们首先要在被调用的wordpress网站的根目录下新建一个call.php文件,具体这个文件名可以任意修改,然后将下面的代码放入其中,注意是uft-8无B模式哦
<?php
define('WP_USE_THEMES', false); //不用主题
require('./wp-load.php'); //将wp-load.php包含到你的PHP程序中
query_posts('showposts=2'); //调用显示函数将blog内容显示在当前页面
while (have_posts()): the_post(); ?>
☞
<a href="<?php the_permalink(); ?>" target="_blank"><?php echo mb_strimwidth(strip_tags(apply_filters('the_title', $post->post_title)), 0, 50," "); ?></a>
</br>
<?php endwhile; ?>
①上面代码中的 query_posts(‘showposts=2’); 是可以自行修改的,具体修改方法因 WordPress 主题和插件使用而异。在需要调用的地方(需 php 支持),添加
② ☞到</br>这个部分都可以自己修改样式的。根据自己样式修改。比如有人用的是<li>标签。可以修改如下:
<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
query_posts('showposts=10');
while (have_posts()): the_post(); ?>
<li><a href="<?php the_permalink(); ?>" target="_blank"><?php echo mb_strimwidth(strip_tags(apply_filters('the_title', $post->post_title)), 0, 50," "); ?></a></li>
<?php endwhile; ?>
样式就是如下图
这时候, 我们就要决定显示文章的哪些内容,并写一些HTML。比如需要文章的标题和摘要,我们可以这样写
<?php while (have_posts()): the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
<p><a href="<?php the_permalink(); ?>">Read more...</a></p>
<?php endwhile; ?>
如果你使用过Wordpress主题,你很快就明白这些模板标记的意思,我们可以直接调用title, excerpt, permalink, 等等,一旦装载 wp-load.php 成功,wordpress的一切功能实现都成为可能
步骤二:
<?php
$url="https://www.51yhyh.com/call.php";
echo file_get_contents( $url );
?>
将上面的网址替换成自己的即可!下面我将两个文件打包分享给大家吧!