站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Template Tags/in category
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
= 描述 = 如果当前的文章在规定的[[WordPress:Glossary#Category|类别]]中,返回真。通常这个标签是在[[WordPress:The Loop|The Loop]]内部使用的,但是当[[#WordPress:Use OUTSIDE The Loop|在 loop外使用这个标签的时候]],必须设置$post变数。 = 用法 = 假定你想要执行某些特别的[[WordPress:Glossary#PHP|PHP]]或者[[WordPress:Glossary#HTML|HTML]]只有当前正在处理的文章,所属的类别ID,我们在这里表示为'category_id',才可以。 <pre><?php if ( in_category('category_id') ): ?> // 一些类别特别的PHP/HTML <?php endif; ?></pre> = 例子= == 显示一些类别特别的文本== 显示<tt><nowiki><span class="good-cat-5">这是每篇文章中的一个非常好的类别</span></nowiki></tt>,这些文章属于类别'''5''',否则的话,显示<tt><nowiki><span class="bad-cat">这是一个比较差的类别</span></nowiki></tt>。 <pre><?php if ( in_category(5) ) { echo '<span class="my-cat-5">这是一个好类别</span>'; } else { echo '<span class="bad-cat">这是一个差类别</span>'; } ?></pre> 不幸地是, in_category 不了解母类别与子类别的关系。如果,例如,类别11(香蕉)是类别2(水果)的子类别,当查看关于香蕉的文章的时候, in_category('2') 会返回FALSE。 因此,如果你想要同样的文本适用于母类别及所有的子类别,你就需要列出所有这些子类别。 像 in_category(2,11) 这样的语法是得不到允许的。你需要在表述中使用 PHP || (逻辑词 或) && (逻辑词 与) 。 <pre><?php if( in_category(2) || in_category (11) || in_category (12)[更多关于其它水果的类别 – 可能会变得混乱] ) { echo '<span class="fruits">这关于不同种类的水果</span>'; } 其余的{ echo '<span class="bad-cat">不好吃!不健康!</span>'; } ?></pre> == 在Loop外使用 == 一般来说,这个标签必须用在[[WordPress:The Loop|The Loop]]内部,因为标签使用取决于一个WordPress PHP 变数(<tt>$post</tt>),而只有Loop运行的时候,这个变数才会拥有一个值。然而,你可以''动手''赋予这个参数一个值,可以在Loop外使用标签。 例如,假如你希望[[WordPress:Using Themes|主题]]中有个<tt>single.php</tt> [[WordPress:Templates|模板文件]],根据单篇文章属于类别的不同,主题会展现一个''完全不同''的网页。在Loop中调用<tt>in_category()</tt>,对你的主题可能造成不便。因此使用下面的内容,作为你的主题的<tt>single.php</tt>。 <pre><?php if ( have_posts() ) { the_post(); rewind_posts(); } if ( in_category(17) ) { include(TEMPLATEPATH . '/single2.php'); } else { include(TEMPLATEPATH . '/single1.php'); } ?></pre> 如果文章是在类别'''17''',会使用<tt>single2.php</tt>作为模板,否则的话,会使用<tt>single1.php</tt>作为模板。这样第一篇文章被拖到正确的变数上,然后重新设置了WordPress查询,当主要的Loop运行的时候,WordPress查询重新从那里开始, === 参数 === ; category_id : (integer) 你想要测试的类别的类别ID。参数可能会以一个整数或者一个字符串的形式传送。 :*<tt>in_category(5)</tt> :*<tt>in_category('5')</tt> ==插件选项== 最终,某个人会编写一个功能更强的插件,能够自动地帮你完成所有的这些步骤。那时,这个例子就不会再使用了。然而,[http://boren.nu/downloads/custom_post_templates.phps 自定义文章模板插件]允许为单篇文章创建模板。同时也举了一个例子,关于怎样添加一个模板,这个模板用于一个给定的类别中的''所有''文章,而不是某一篇文章。默认情况下,插件没有运行那个例子,但是只要注释适当的那一行,就可以轻易地执行这个例子。 == 相关的== {{标签 类别 标签}} {{PHP 函数 标签 页底文字}}
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:PHP Function Tag Footer
(
编辑
)
模板:PHP 函数 标签 页底文字
(
编辑
)
模板:PHP 函数标签页底文字
(
编辑
)
模板:Tag Category Tags
(
编辑
)
模板:标签 类别 标签
(
编辑
)
模板:标签类别标签
(
编辑
)