自定义条件标签
在WordPress的条件标签一览表里面,你可以看到大部分的content或page的条件标签,如果你继续深究的话,你还会发现以下的.
检查用户是否登陆
如果你的博客有很多个作者,下面这个代码可以让你知道用户是否登陆.
if ( is_user_logged_in() ):
echo ‘Welcome, registered user!’;
else:
echo ‘Welcome, visitor!’;
endif;
你的网站是否可以注册
<?php if ( get_option(‘users_can_register’):
echo ‘Registrations are open.’;
else:
echo ‘Registrations are closed.’;
endif;
判断用户使用的电脑是pc或mac
if( stristr($_SERVER['HTTP_USER_AGENT'],”mac”) ):
echo ‘Hello, I’m a Mac.’;
else:
echo ‘And I’m a PC.’;
endif;
用户登陆时,让Google分析代码不起作用
如果在你的网站使用了Google的分析代码,你可能希望去跟踪真正的访问者,而不是作者.不要忘记修改Google的分析id的UA-XXXXXXX-X (如下)
<?php
// function for inserting Google Analytics into the wp_head
add_action(‘wp_footer’, ‘ga’);
function ga() {
if ( !is_user_logged_in() ): // íf user is not logged in
?>
<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']); // insert your Google Analytics id here
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);
(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<?php
endif;
}
?>
自定义文章的类型
下面的例子可以让你判断当前的文章是否是特定的文章类型,比如books
<?php if ( is_singular( ‘books’ ) ):
// This post is of the custom post type books.
endif; ?>
当查询结果仅有一篇时直接以单页的方式显示(这个很好,我觉得)
添加以下代码片断到你的主题文件夹的functions.php文件里,它将会自动重定向到当你的搜索结果仅有一篇时以单页方式显示.
<?php
add_action(‘template_redirect’, ‘single_result’);
function single_result() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
?>