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