建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

[wordpress不同栏目调用不同的侧边栏]功能实现代码(从站外调用WordPress站内文章的实现方法)

GG网络技术分享 2025-03-18 16:14 0


[wordpress不同栏目调用不同的侧边栏]功能实现代码

在我的个人网站(基于wordpress搭建)上新加了一个“韵华.创意写作”栏目。但这个栏目与网络营销关系并不大,而我网站本身定义为网络营销博客,因此对于创意写作这个栏目,希望它是属于较独立的内容,且和网络营销版块有所区分,不至于太混淆或显得主次不分。

在侧边栏这一项中,网站主题自带有添加侧边栏的功能,不需要去写代码。如下图。

注意标红的id名称,在后边的代码中会用到。

需要解决的问题就只是:如何让创意写作栏目(含子栏目)右侧的侧边栏显示这个“创意写作侧边栏”,而非默认的和网络营销主题有关的侧边栏。在网上找了一些参考文章并进行代码修改测试,终于搞定。方法如下:

1.找到模板主题下的sidebar.php文件。

2.找到:dynamic_sidebar($sidebar);这一行代码,对这段代码进行修改,加入条件判断,如下:

<?php

if ( in_category(array(’74’,’75’,’76’,’77’,’78’)) ) {

dynamic_sidebar(“sidebar-writer”);

}

else

{

dynamic_sidebar($sidebar);

}

?>

还好,以前接触过编程,基本的语法和逻辑还是懂的,不过手生了,像分号就忘了写,第一 次测试时,侧边栏都显示不见了。好在俺临乱不惧,再次细心检查下代码,发现是这个小问题导致。再一次上传测试,想要的奇迹出现了。

注:发布文章的内容页则已经自带有相应功能,可以自选侧边栏,感谢网站模板主题的开发者,这些老外们真是了不起。

我非程序员,本功能代码只是实现了基本功能,非尽善尽美。在实现过程中,参考了以下知识链接。

dynamic_sidebar()函数使用,见:http://www.168seo.cn/jianzhan/wordpress/281.html

分类函数in_category的调用,调用多个类别,见: http://mtoou.info/wordpress-in-category/

PHP if…else…elseif 语句 见:http://www.w3school.com.cn/php/php_if_else.asp

从站外调用WordPress站内文章的实现方法

最近遇到一个从站外调用WordPress站内文章问题,具体是这样的:需要在A站的首页或者侧边栏引用B站点的最新文章,且A、B站点都是采用WordPress程序构建。这类问题可以采用第三方服务,比如wumii的文章调用什么的,也可以采用代码来实现。解决过程如下:

方法一:

这个方法不局限于最新文章,它几乎可以调用所有类型的文章,如最热文章,随机文章、最新评论等等,不过唯一的缺点就是速度可能慢点。

首先在你要被外部调用文章的网站根目录下建立一个php文件,命名为blog_call.php。

内容如下:

<?php
//该文件放置在你要调取的博客的主目录
define(‘WP_USE_THEMES’, false);
require(‘./wp-load.php’);
query_posts(‘showposts=10′);
//这里是调用最新文章,如果是热门文章的话则改为get_most_viewed(“post”,10);当然这得是你的主题安装了热门文章插件,而且这里可以接受几乎wp-kit-cn所有代码。非常方便
?>
<?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; ?>

如果你要输出文章摘要,可以使用下面的代码:

<?php
//该文件放置在博客的主目录
define(‘WP_USE_THEMES’, false);
require(‘./wp-load.php’);
query_posts(‘showposts=30′);
?>
<?php while (have_posts()): the_post(); ?>
<h3><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
<?php endwhile; ?>

最后在你需要调用网站文章的那个站点上面,加上如下代码:

<?php
//该代码放置在需要调用文章内容和列表的地方
$url=http://你的博客地址/blog_call.php;
echo file_get_contents( $url );
?>

方法二:

这个方法是最通俗的思路,用WordPress 的RSS功能实现。把下面的代码黏贴到相应地方,然后用CSS美化一下就搞定。

<?php // Get RSS Feed(s)
include_once(ABSPATH . WPINC . ‘/rss.php’);
$rss = fetch_rss(‘http://XXXX/feed’);//在这添加所要调用网站的Feed地址
$maxitems = 10;
$items = array_slice($rss->items, 0, $maxitems);
?>
<ul>
<?php if (empty($items)) echo ‘<li>No items</li>’;
else
foreach ( $items as $item ) : ?>
<li>
<a href=’<?php echo $item[\'link\']; ?>’
title=’<?php echo $item[\'title\']; ?>’ target=”_blank”>
<?php echo mb_strimwidth($item[\'title\'] , 0, 80, ‘…’) ; ?>
</a>
</li>
<?php endforeach; ?>
</ul>

以上主要为大家介绍了从站外调用WordPress站内文章的实现方法,需要的朋友可以参考下

从站外调用WordPress站内文章的实现方法 (https://www.wpmee.com/) WordPress使用教程 第1张

标签:

提交需求或反馈

Demand feedback