搜索
Hi~登录注册
查看: 1205|回复: 0

wordpress如何调用某一分类下的子分类和子页面 -wordpress教程

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-4-20 15:51:56 | 显示全部楼层 |阅读模式

                                <b>[文章目录]</b>
                                <ul id="index-ul">
<li>方法一:</li>
<li>1、获取当前分类目录的ID;</li>
<li>2、在需要调用当前分类目录子分类的位置放以下代码:</li>
<li>方法二:</li>
<li>方法三:</li>
<li>一、使用这段代码就可以实现调用某个父级分类下的子分类了</li>
<li>二、另个WP程序调用页面下的子页面</li>
</ul>
                        </div>
同学们,大家好,今天<strong>吾爱互联</strong>与大家分享关于如何在wordpress中调用某一分类下的子分类或者是子页
<div id="attachment_569" style="width: 444px" class="wp-caption aligncenter"><img class="size-full wp-image-569" src="http://www.wpjiaocheng.com/wp-content/uploads/2014/07/QQ截图20140725151452.png" alt="wordpress如何调用某一分类下的子分类和子页面" width="434" height="312" />wordpress如何调用某一分类下的子分类和子页面</div>
具体的实现步骤和方法如下
<h2 id="title-0">方法一:
wordpress怎么显示当前分类的子分类
<h2 id="title-1">1、获取当前分类目录的ID;
方法:在主题文件的functions.php文件(函数文件,如果没有可以自己新建一个)中添加如下代码:
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><span class="keyword">function</span> get_category_root_id(<span class="vars">$cat</span>)</li>
<li>{</li>
<li class="alt"><span class="vars">$this_category</span> = get_category(<span class="vars">$cat</span>); <span class="comment">// 取得当前分类 </span></li>
<li><span class="keyword">while</span>(<span class="vars">$this_category</span>->category_parent) <span class="comment">// 若当前分类有上级分类时,循环 </span></li>
<li class="alt">{</li>
<li><span class="vars">$this_category</span> = get_category(<span class="vars">$this_category</span>->category_parent); <span class="comment">// 将当前分类设为上级分类(往上爬) </span></li>
<li class="alt">}</li>
<li><span class="keyword">return</span> <span class="vars">$this_category</span>->term_id; <span class="comment">// 返回根分类的id号 </span></li>
<li class="alt">}</li>
</ol>
</div>
<h2 id="title-2">2、在需要调用当前分类目录子分类的位置放以下代码:
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><?php</li>
<li><span class="keyword">if</span>(is_single()||is_category())</li>
<li class="alt">{</li>
<li><span class="keyword">if</span>(get_category_children(get_category_root_id(the_category_ID(false)))!= <span class="string">""</span> )</li>
<li class="alt">{</li>
<li><span class="func">echo</span> '<ul>';</li>
<li class="alt"><span class="func">echo</span> wp_list_categories(<span class="string">"child_of="</span>.get_category_root_id(the_category_ID(false)). <span class="string">"&amp;depth=0&amp;hide_empty=0&amp;title_li=&amp;orderby=id&amp;order=ASC"</span>);</li>
<li><span class="func">echo</span> '</ul>';</li>
<li class="alt">}</li>
<li>}</li>
<li class="alt">?></li>
</ol>
</div>
<h2 id="title-3">方法二:
wordpress在当前分类或者正文页面想调用显示与当前分类存在父子分类关系的分类目录时会用到:
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-c" start="1">
<li class="alt"><?php</li>
<li><span class="vars">$current</span> = <span class="string">""</span>;</li>
<li class="alt"><span class="keyword">if</span>(is_single()){</li>
<li><span class="vars">$parent</span> = get_the_category();</li>
<li class="alt"><span class="vars">$parent</span> = <span class="vars">$parent</span>[0];</li>
<li><span class="vars">$current</span> = <span class="string">"&amp;current_category="</span>.<span class="vars">$parent</span>->term_id;</li>
<li class="alt">}<span class="keyword">else</span> <span class="keyword">if</span>(is_category()){</li>
<li><span class="keyword">global</span> <span class="vars">$cat</span>;</li>
<li class="alt"><span class="vars">$parent</span> = get_category(<span class="vars">$cat</span>);</li>
<li>}</li>
<li class="alt"><span class="keyword">if</span>(<span class="vars">$parent</span>->category_parent != 0){</li>
<li><span class="vars">$cat_id</span> = <span class="vars">$parent</span>->category_parent;</li>
<li class="alt"><span class="vars">$parent</span> = get_category(<span class="vars">$cat_id</span>);</li>
<li><span class="keyword">if</span>(<span class="vars">$parent</span>->category_parent != 0){</li>
<li class="alt"><span class="vars">$cat_id</span> = <span class="vars">$parent</span>->category_parent;</li>
<li>}<span class="keyword">else</span>{</li>
<li class="alt"><span class="vars">$cat_id</span> = <span class="vars">$parent</span>->term_id;</li>
<li>}</li>
<li class="alt">}<span class="keyword">else</span>{</li>
<li><span class="vars">$cat_id</span> = <span class="vars">$parent</span>->term_id;</li>
<li class="alt">}</li>
<li>?></li>
<li class="alt"><?php <span class="keyword">if</span>(!is_page()) { ?></li>
<li><h3><?php <span class="func">echo</span> <span class="vars">$parent</span>->cat_name; ?><span><?php <span class="func">echo</span> <span class="vars">$parent</span>->slug; ?></span></h3></li>
<li class="alt"><ul id=<span class="string">"cat_list"</span>></li>
<li><?php wp_list_categories(<span class="string">"title_li=&amp;child_of=$cat_id"</span>.<span class="vars">$current</span>); ?></li>
<li class="alt"></ul></li>
<li><?php } ?></li>
</ol>
</div>
<h2 id="title-4">方法三:
wordpress如何调用某一分类下的子分类和子页面<br />
比如有3个分类目录 一个新闻动态 一个技术文章 一个产品介绍 产品介绍下有3个子分类 产品1 产品2 产品3 请问如何去调用产品1 产品2 产品3<br />
显示出来 不要显示这3个分类下的文章 只显示出产品1 产品2 产品3
(10表是父级分类的ID是10)
<h2 id="title-5">一、使用这段代码就可以实现调用某个父级分类下的子分类了
<div class="dp-highlighter">
<ol class="dp-c" start="1">
<li class="alt"><?php wp_list_cats(‘sort_column=name&amp;optioncount=1&amp;hierarchical=1&amp;hide_empty=0&amp;child_of=10'); ?></li>
<li></li>
<li class="alt">sort_column:ID 或 name,预设为ID,设定依 ID 值或分类名称排序</li>
<li></li>
<li class="alt">sort_order:asc 或 desc,预设为递增 asc,设定排序递增或递减 ( &amp;sort_column=ID&amp;sort_order=desc )</li>
</ol>
</div>
<h2 id="title-6">二、另个WP程序调用页面下的子页面
<div class="dp-highlighter">
<ol class="dp-c" start="1">
<li class="alt"><?php wp_list_pages(‘hide_empty=0&amp;child_of=2&amp;title_li=’); ?></li>
</ol>
</div>
这里2就是父级页面ID数
如何调用分类目录和页面请收看我之前所写的这篇文章
<strong>《关于最符合SEO主题模板的细节修改之三(分类目录和页面的调用)》</strong>
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表