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

  • 4,995 views
  • 阅读模式

序言

标题太长,表达两个意思,一是让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篇文章了。

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

 

 

 

 

老张
  • 本文由 发表于 2021 年 1 月 31 日20:39:05
评论  29  访客  17  作者  12
    • 老麦
      老麦 4

      应该修改一下样式,现在列表前面的那个小圆点和你的主题很不搭。

        • 老张
          老张

          @ 老麦 主要是不会代码,不知道怎么去改,随他去

            • 珂泽
              珂泽 3

              @ 老张 我看了一下,添加一些CSS即可:
              .textwidget.widget-text {
              padding: 15px;
              }
              .textwidget.widget-text li {
              list-style: none;
              }

          • 哥斯拉
            哥斯拉 6

            土鸽子的logo蛮好看的,唯一的问题就是像鸡又像凤凰,就是不像鸽子 :grin:

            • 老杨
              老杨 5

              echo ”.file_get_contents( $url ).”; 样式应该就匹配了。
              另外加个缓存可能更好。

                • 老张
                  老张

                  @ 老杨 不知道这段代码加在什么地方?怎么加缓存呀?

                    • 老杨
                      老杨 5

                      @ 老张 :arrow: 就你上面的代码啊,echo file_get_contents( $url ); 换成 <ul>’.file_get_contents( $url ).'</ul>’;

                      • 老杨
                        老杨 5

                        @ 老张 echo file_get_contents( $url ); 换成 echo ‘<ul>’.file_get_contents( $url ).'</ul>’;

                          • 老张
                            老张

                            @ 老杨 感谢,感谢,已经把前面的小点点去掉了,但是我想让他和“热门文章”一样出现1、2、3、4、5,就不知道怎么改了

                      • 流金岁月
                        流金岁月 5

                        不错,不错哈,域名也不错

                          • 老张
                            老张

                            @ 流金岁月 域名是小胡同学想的。

                          • BlogWall
                            BlogWall 2

                            为啥我没有看到演示。

                              • 老张
                                老张

                                @ BlogWall 右侧有呀,那么大你看不到?

                              • 美樂地
                                美樂地 5

                                土鸽子这个名字略土,不过我喜欢资源分享网站,收藏了!

                                  • 老张
                                    老张

                                    @ 美樂地 小胡同学推荐 的还有银葡萄,我又想“酷铺子”,但是最后还是选择了土鸽子。

                                  • Mr.Chou
                                    Mr.Chou 6

                                    在手机端没法看到推荐资源,晚点电脑端看看~域名挺不错。

                                    • 珂泽
                                      珂泽 3

                                      我的单页也是用了php调用RSS

                                      • 山卜方
                                        山卜方 2

                                        还能跨站调取,真没想到,还有这种操作

                                          • 老张
                                            老张

                                            @ 山卜方 是的,很方便,但是必须两个站都是自己站才可以

                                          • 城南旧事
                                            城南旧事 2

                                            你可以把你头像服务换成我这个
                                            https://blog.loli.top/archives/363.html
                                            你这个有点卡了

                                              • 老张
                                                老张

                                                @ 城南旧事 好的,是经常卡的头像显示不出来。我来学习下。

                                              • 大致
                                                大致 3

                                                不要用这东西来搞我的站。会被当恶意访问封掉。

                                                  • 大致
                                                    大致 3

                                                    @ 大致 又看了一下,原来前提是两个站都归自己。当我前面没说。

                                                      • 老张
                                                        老张

                                                        @ 大致 无视你前面一句话,哈哈

                                                    • 当下杂谈
                                                      当下杂谈 2

                                                      兔格子?

                                                    匿名

                                                    发表评论

                                                    匿名网友 填写信息

                                                    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                                    确定