欢迎莅临阿Q的项目

专业WP商业设计开发销售中心

[手册]28个实用的WordPress主题函数使用技巧

WordPress主题一般有一系列的php文件和一个style. css文件,而其中功能最为强大的文件则是functions. php。WordPress 有非常多的常用函数,你可以通过添加和删除一些函数来增加WordPress主题的功能,而不需要修改任何的主题文件。

11,自定义WordPress 3.0 版本导航栏

WordPress 3.0 增加了一个功能,可以让WordPress模板开发者自定义导航菜单。如果你想给用户一个导航栏的选择权,只需要把下面的代码加入到 functions.php 文件里面。

add_theme_support( 'nav-menus' );

之后把下面的代码复制到你想出新的地方:

<?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_class' => 'menu-header' ) ); ?>

12,移除WordPress默认的个人资料选项

如果你客户的想让用户可以自行添加个人资料,那么需要让这个选项更简单。其中一个方法就是移除部分选项,AIM, Yahoo IM 和 Jabber 之类的东东。

add_filter('user_contactmethods','hide_profile_fields',10,1);

function hide_profile_fields( $contactmethods ) {
	unset($contactmethods['aim']);
	unset($contactmethods['jabber']);
	unset($contactmethods['yim']);
	return $contactmethods;
}

13,添加作者个人资料选项

如果你想更充分的展示作者的个人资料,那么你可以添加一些更个性化的资料选项,例如添加twitter 和 facebook账号等。下面的代码就是添加twitter 和 facebook账号用的。当然,你可以把里面的内容替换成其他任何你想展示的资料。这个对多博客作者尤其有用。

function my_new_contactmethods( $contactmethods ) {
	// Add Twitter
	$contactmethods['twitter'] = 'Twitter';
	//add Facebook
	$contactmethods['facebook'] = 'Facebook';

	return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);

添加完是上面的代码后,你需要在author.php文件里面添加如下的代码:

<?php echo $curauth->twitter; ?>

注意:改代码仅在WordPress2.9以上的版本起作用。

14,添加侧边栏小模块

这是目前用的最多的技巧之一,很多WordPress模板开发者都已经知道,并且在用了。

if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'MiddleSidebar',
	'before_widget' => '<li>',
	'after_widget' => '</li>',
	'before_title' => '<h2>',
	'after_title' => '</h3>',
));
register_sidebar(array('name'=>'FooterSidebar',
	'before_widget' => '<li>',
	'after_widget' => '</li>',
	'before_title' => '<h2>',
	'after_title' => '</h3>',
));

上面的代码可以增加两个侧边栏的小模块。以此类推,你可以添加无限多侧边栏的小模块。添加完上面的代码后,你需要把下面的代码添加到你要出现这边小模块的地方。

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('MiddleSidebar') ) : ?>
	<!–Default sidebar info goes here–>
<?php endif; ?>

注意:侧边栏并不一定需要出现在sidebar.php文件里面。

15,优化WordPress 博客的RSS

如何在RSS里面加入版权链接?如何在RSS加入广告?针对国内互联网的现状,在RSS里面加入版权尤为重要,广告倒是次要的。

除了插件(Better Feed)以外,可以采用以下的方法来实现。

function wpbeginner_postrss($content) {
	if(is_feed()){
		$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
	}
	return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

16,给RSS添加缩略图

缩略图一般是在正常的博客页面上用来起到美化界面的作用。当然,如果需要的话,也可以给RSS内容增加一个缩略图。要做到这一点,只需要在 functions.php 里面加入如下代码:

function rss_post_thumbnail($content) {
	global $post;
	if(has_post_thumbnail($post->ID)) {
		$content = '<p>' . get_the_post_thumbnail($post->ID) . '</p>' . get_the_content();
	}
	return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

17,开启WordPress评论嵌套功能

评论嵌套功能是WordPress自身带有的最好功能之一,只可惜很多WordPress模板都不支持。很多文章都有提到过修改的方法,但一般都涉及到修改comments文件和header文件。事实上,通过修改functions.php文件来修改是最简便的,而且一劳永逸。

// enable threaded comments
function enable_threaded_comments(){
	if (!is_admin()) {
		if (is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) wp_enqueue_script('comment-reply');
	}
}
add_action('get_header', 'enable_threaded_comments');

18,移除WordPress登陆面板的错误提示

当你输入的密码或者用户名错误的时候,WordPress登陆界面会给出相应的提示。但如果碰到黑客的话,这些提示反而给了他们更好的提示,让他们更容易破解用户名和密码。因此,处于安全性考虑,移除WordPress登陆面板的错误提示是非常必要的。

add_filter('login_errors',create_function('$a', "return null;"));

19,关闭WordPress的搜索功能

当把WordPress当做CMS系统来使用的时候,WordPress自带的搜索功能实用性就不是太强了。一来增加数据库查询次数,二来 Google 自定义搜索会是更好的替代。因此,你只需要通过以下的代码就可以关闭WordPress的搜索功能。

function fb_filter_query( $query, $error = true ) {

if ( is_search() ) {
	$query->is_search = false;
	$query->query_vars[s] = false;
	$query->query[s] = false;

	// to error
	if ( $error == true ) $query->is_404 = true;
	}
}

add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

20,启用WordPress简码功能

Google AdSense 算是博客的标配之一了,很多CMS经常会在模板选项里面预置Google AdSense的广告位。假如你的模板不支持,你可以通过以下的方法来解决:

function showads() {
	return '<div id="adsense"><script type="text/javascript"><!–
	google_ad_client = "pub-XXXXXXXXXXXXXX";
	google_ad_slot = "4668915978";
	google_ad_width = 468;
	google_ad_height = 60;
	//–>
</script>

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>';
}

add_shortcode('adsense', 'showads');
如果喜欢本文,请分享给朋友们

[手册]28个实用的WordPress主题函数使用技巧9 篇评论

  1. 焰火

    如果你的博客接受读者的投稿,想在该篇文章出现投稿者的姓名,同时又不想通过添加作者的这种繁琐而麻烦的方式来操作,则可以使用下面的代码。使用下面的代码后,只需要在撰写文章的时候在自定义区域填上投稿者的姓名即可。系统会自动将发布者的名称换成投稿者的名称。

    这个代码对接受读者投稿较多的网站,或者是资讯型的网站非常有用(利用它来显示来源)。

  2. 焰火

    评论样式真不错... 👿

  3. 宝宝

    博主,立正,我来报道。

      • 焰火

        学习了....^^

      • 焰火

        太喜欢这个评论样啊啊了 😆