在WordPress网站文章中调用另一个页面内容

本文介绍了利用WordPress自定义栏目功能,实现在文章中调用其他页面内容的方法。通过添加指定自定义栏目和页面别名,可以自动显示通用内容(如购买须知、产品介绍等),避免重复编辑,提高维护效率。文章提供了具体代码示例和使用步骤,适用于电子商务或论坛等网站。

WordPress基础教程
阅读时间: 10 分钟
最后更新时间:2025年11月13日

随着WordPress的功能越来越强大,我们几乎可以使用WordPress程序来做任何想做的事(似乎有点夸张了⊙﹏⊙b汗)。

很多时候,也许我们并不需要在一篇文章中调用另一篇文章或单页面的内容(至少大多数人不需要这样做);但是这并不是让我们放弃WordPress强大功能的理由。

下图为WordPress网站文章中调用另一个页面内容的效果图:

WordPress网站文章中调用另一个页面内容

我们可以拿WordPress来进行电子商城网站制作,或者来做一个大型的论坛网站(相关知识:如何用wordpress做论坛),这些都不成问题。我们遇到的问题可能是,一些通用的内容如何在每个文章页面中显示出来?

比如电子商务网站中的购买须知、产品介绍、公司介绍等(每个单独的产品可能都具有一些共同的介绍),是否意味着我们每次都要单独添加这些内容呢?那我们维护起来将会是一项很庞大的工程。

如果我们可以在WordPress文章中调用到另一个页面的内容,那问题不就解决了吗?事实上,我就是这么做的。
思路就是利用了WordPress的自定义栏目这个功能,(相关知识:wordpress自定义栏目设置方法)在需要调用的文章下面添加一个指定的自定义栏目(默认的)和值(需要调用的那个page的别名)。

好了,直接上代码:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<h1<?php the_title(); ?></h1>
<?php
the_content();//正常日志内容
$key = “fireuikey”;//自定义栏目名称
$fireuiinfo = get_post_meta($post->ID, $key , true);
if ($fireuiinfo != ”):$fireui_com_key = array(‘pagename’ => $fireuiinfo);//pagename就是需要调用的那个页面的别名,必须是英文
query_posts($fireui_com_key);
if (have_posts()) : while(have_posts()) : the_post(); the_content(); endwhile; endif;
wp_reset_query();
endif;
endwhile;
endif;
?>
因为当初做这个项目比较急,因此代码可能会比较草率,或者还有其他的方法。但,至少可以肯定的是,我所使用的这个方法到目前为止一直使用良好。

使用方法,上面的代码替换single.php中的主循环部分(当然,你可以根据你模板的实际情况进行调用和添加样式)。

添加文章时,同时添加一个自定义栏目,栏目名称为”fireuikey”(可以换成任何你喜欢的变量名称,需要同步修改上面的代码!),值就填写需要被调用的page的别名(英文)。

如果自定义栏目为空或者不添加,那么将不会执行调用,默认文章也会完美呈现,以上方法大家可以本地安装wordpress进行测试,保证有效。

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

曾凤祥

曾凤祥

技术负责人
小兽wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为10万多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽wordpress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部