飞龙博客

飞龙博客 飞龙在天

wordpress if else条件假设语句6种分析

feilong.org 修订于2010-02-01 01:28:50 627 次浏览

wordpress博客的if else 条件语句,适合不同的类别设计不同的模板内容或css样式。但是对于初学wordpress的朋友来说,wordpress的if条件语句还是比较复杂的。本日志飞龙整理一下自己在学习wordpress的codex过程中,整理的6个if条件语句,更新网址:http://feilong.org/if-else-wordpress 飞龙第3次修订。wordpress的典型if假设条件语句,以下分析不可避免有错误,飞龙以后慢慢更改。欢迎批评指正。

第一种:如果当前分类的id是45,那么显示class为post-cat-45的div前缀,否则显示class为post的div前缀。div 前缀显示确定后,可以自行设计div里面的内容,最后加上div后缀。此种wordpress条件语句适合为指定id类别 使用不同的css样式。

<?php if ( in_category('45') ) { ?>
<div class="post-cat-45">
<?php } else { ?>
<div class="post">
<?php } ?>
div里面的内容
</div>

第二种:如果是id为45的类别,那么你可以自行设计此类下的内容。否则,你可以设计其它情况下的内容。显然这个主要是为指定id类别设计它的模板内容,当然可以包括该分类的css样式。

<?php if ( in_category('45') ) { ?>
此类下的内容可以有html等代码
<?php } else { ?>
其它情况下的内容可以带html等代码
<?php } ?>

如果将上面的代码浓缩写到一个php符里面?飞龙尝试了一下,但是在php代码符内不能有html或div。
<?php
if ( in_category(’45′) ) {
此类下的内容不能有html代码
} else {
其它情况下的内容不能有html代码
}
?>

第三种:这个是wordpress2.5以上版本的。意思是如果当前分类或slug是pachoderms,那么设计什么什么内容,如果是在类别 tropical birds或small-mammals,那么显示什么什么内容。否则,设计什么上面内容。这个if else语句其实是第二种的延伸吧。不过注意它被浓缩到了一个php符里面了,内部没带html代码。

<?php
if ( in_category( 'pachoderms' )) {
// They have long trunks...
} elseif ( in_category( array( 'Tropical Birds', 'small-mammals' ) )) {
// They are warm-blooded...
} else {
// & c.
}
?>

第四种:这个也是比较难懂的if语句,这个用在achieve.php里面的。有好多种if else,分散在不同的php符里面,而且有大括号,飞龙提示你注意拼写哟!呵呵测试后飞龙发现有几处错误,不过还不知道该怎么修改?如果你要求不高,它还是可以使用的。

<?php /* If this is a category archive */ if (is_category()) { ?>
<h2><?php single_cat_title(); ?> category</h2>
<?php } elseif( is_tag() ) { ?>
<h2><?php single_tag_title(); ?> tag</h2>
<?php } elseif (is_day()) { ?>
<h2><?php the_time('F jS, Y'); ?> day</h2>
<?php } elseif (is_month()) { ?>
<h2><?php the_time('F, Y'); ?> month</h2>
<?php } elseif (is_year()) { ?>
<h2><?php the_time('Y'); ?> year</h2>
<?php } elseif (is_author()) { ?>
<h2><?php the_author(); ?> author</h2>
<?php } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2>pages archived here</h2>
<?php } ?>

第五种:下面这个if语句是wordpress为指定分类使用指定的模板文件。很有用。php代码浓缩到一个php代码符里面了,内部没带html代码。include是php函数,调用的模板文件内部当然可以有html代码。

<?php
if ( in_category('fruit') ) {
include 'single-fruit.php';
} elseif ( in_category('vegetables') ) {
include 'single-vegetables.php';
} else {
// Continue with normal Loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
// ...
}
?>

第六种:下面的第一行代码是没有else的假设语句。意思是如果是首页,那么不显示类别id为3的日志。
<?php if ( is_home() ) {
query_posts($query_string . '&cat=-3');
}
?>

此句经常用在while循环语句的前面。从第二行起是循环语句+if条件语句,这是wordpress经典的the loop(http://codex.wordpress.org/The_Loop)。注意:飞龙简写了一遍,去掉了部分html和div。(飞龙提示:wordpress官方的the_authors_post_link错了,应该是the_author_posts_link)
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>
<?php the_content(); ?>
<?php endwhile; else: ?>
<p>Sorry, no posts</p>
<?php endif; ?>

更新网址:https://feilong.org/if-else-wordpress
最初发布:20100201 01:28:50 feilong.org 于广州

加入收藏夹,查看更方便。

所在分类: wordpress

新作:

旧文:

blog money bui 教程 echarts 教程 eclipse 教程 html css 教程 IT趋势 js 教程 json 教程 mysql 教程 nodejs npm 教程 onblog SQLite 教程 tutorials vscode 教程 wap网站 winpe启动盘 wordpress 主机推荐 书法 前端开发 博客 名企名网 国学 域名注册 常用软件 建站程序 操作系统 教程 数码 无线上网 日记 电子商务 电脑笔记本 网站 网站优化 网站开发 网站推广 网站策划 网络 虚拟现实 默认