让WordPress网站“文本小工具”运行PHP代码,并实现调用其他WordPress网站最新文章

序言

标题太长,表达两个意思,一是让WordPress网站"文本小工具"运行PHP代码,二就是通过"文本小工具运行PHP代码"的功能来调用其他WordPress网站的最新文章。

前几天和小胡同学一起搞了个资源分享网站-土鸽子,网站名称起的很随意并不能表达网站内容。不过这有什么呢,难道"天猫网"就是"搞猫"的吗?

土鸽子目前才建起来,资源发布是一方面,另一方面就是推广外链了。这个时候小胡同学建议我在自己的博客上放上土鸽子的RSS,折腾半天没有成功。不过最后还是请教了度娘实现了利用"文本小工具"运行PHP代码,在老张博客上调用了土鸽子的最新文章。

WordPress自带的"文本小工具"运行PHP代

WordPress自带的"文本小工具"是不支持运行PHP代码的,这个时候我们可以改造他。

将以下代码添加到你当前主题的 functions.php 文件:

add_filter('widget_text', 'php_text', 99);
function php_text($text) {
if (strpos($text, '<' . '?') !== false) {
ob_start();
eval('?' . '>' . $text);
$text = ob_get_contents();
ob_end_clean();
}
return $text;
}

就这么简单,这样之后,文本小工具添加到侧边栏中,并在其中输入PHP函数代码就可以运行了。用MO Widgets插件也可以实现这个功能。

调用其它wordpress网站最新文章,并自动更新

首先要在被调用的wordpress网站的根目录,也就是我的https://tugezi.com根目录下新建一个php文件,具体这个文件名可以任意修改,然后将下面的代码放入其中。我这里创建的是new.php,并将以下代码复印到该文件中。

<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
query_posts('showposts=5');
?>
<?php 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; ?>

代码中的query_posts(‘showposts=5’)后面的数字可以随意修改,也就是你想在自己网站上显示文章的数量。我这里设置的是显示最新的5篇文章。

然后在文本小工具中复制以下代码,这个时候,就可以显示被调用网站https://tugezi.com的最新文章了。

<?php
$url="https://tugezi.com/new.php";
echo file_get_contents( $url );
?>

这个时候,就完美在实现在在老张博客首页侧栏文本小工具实现调用土鸽子https://tugezi.com的最新5篇文章了。

具体效果见老张博客左侧"推荐资源"。

 

 

 

 

😊

评论区

共 29 条评论
  1. 头像
    老麦 Lv.5
    应该修改一下样式,现在列表前面的那个小圆点和你的主题很不搭。
    5年前
    1. 头像
      老张 博主
      @老麦 主要是不会代码,不知道怎么去改,随他去
      5年前
      1. 头像
        珂泽 Lv.3
        @老张 我看了一下,添加一些CSS即可: .textwidget.widget-text { padding: 15px; } .textwidget.widget-text li { list-style: none; }
        5年前
  2. 头像
    哥斯拉 Lv.10
    土鸽子的logo蛮好看的,唯一的问题就是像鸡又像凤凰,就是不像鸽子 :grin:
    5年前
    1. 头像
      @哥斯拉 所以这就是土鸡变凤凰吗 :lol:
      5年前
      1. 头像
        老张 博主
        @路易十三 就是凤凰,哈
        5年前
    2. 头像
      老张 博主
      @哥斯拉 我是随便从网上生成的,有那个意思 就行
      5年前
  3. 头像
    老杨 Lv.10
    echo ''.file_get_contents( $url ).''; 样式应该就匹配了。 另外加个缓存可能更好。
    5年前
    1. 头像
      老张 博主
      @老杨 不知道这段代码加在什么地方?怎么加缓存呀?
      5年前
      1. 头像
        老杨 Lv.10
        @老张 :arrow: 就你上面的代码啊,echo file_get_contents( $url ); 换成 <ul>'.file_get_contents( $url ).'</ul>';
        5年前
      2. 头像
        老杨 Lv.10
        @老张 echo file_get_contents( $url ); 换成 echo '<ul>'.file_get_contents( $url ).'</ul>';
        5年前
        1. 头像
          老张 博主
          @老杨 感谢,感谢,已经把前面的小点点去掉了,但是我想让他和“热门文章”一样出现1、2、3、4、5,就不知道怎么改了
          5年前
  4. 头像
    流金岁月 Lv.10
    不错,不错哈,域名也不错
    5年前
    1. 头像
      老张 博主
      @流金岁月 域名是小胡同学想的。
      5年前
  5. 头像
    BlogWall Lv.1
    为啥我没有看到演示。
    5年前
    1. 头像
      老张 博主
      @BlogWall 右侧有呀,那么大你看不到?
      5年前
  6. 头像
    美樂地 Lv.10
    土鸽子这个名字略土,不过我喜欢资源分享网站,收藏了!
    5年前
    1. 头像
      老张 博主
      @美樂地 小胡同学推荐 的还有银葡萄,我又想“酷铺子”,但是最后还是选择了土鸽子。
      5年前
  7. 头像
    Mr.Chou Lv.10
    在手机端没法看到推荐资源,晚点电脑端看看~域名挺不错。
    5年前
  8. 头像
    珂泽 Lv.3
    我的单页也是用了php调用RSS
    5年前
  9. 头像
    山卜方 Lv.1
    还能跨站调取,真没想到,还有这种操作
    5年前
    1. 头像
      老张 博主
      @山卜方 是的,很方便,但是必须两个站都是自己站才可以
      5年前
  10. 头像
    你可以把你头像服务换成我这个 https://blog.loli.top/archives/363.html 你这个有点卡了
    5年前
    1. 头像
      老张 博主
      @城南旧事 好的,是经常卡的头像显示不出来。我来学习下。
      5年前
  11. 头像
    大致 Lv.5
    不要用这东西来搞我的站。会被当恶意访问封掉。
    5年前
    1. 头像
      大致 Lv.5
      @大致 又看了一下,原来前提是两个站都归自己。当我前面没说。
      5年前
      1. 头像
        老张 博主
        @大致 无视你前面一句话,哈哈
        5年前
  12. 头像
    兔格子?
    5年前
    1. 头像
      老张 博主
      @当下杂谈 土鸽子。。
      5年前