您好,UncleToo欢迎您!  为了更好的浏览本站,请使用高版本浏览器
RSS  Tag     设为首页 | 加入收藏
 您所在的位置:首页 > 开源项目

利用functions.php文件能够做到的10件很酷的事情

作者:UncleToo  来源:翻译  日期:2013-12-29 9:52:23
收藏  评论:( 0 )  阅读:979

利用functions.php文件能够做到的10件很酷的事情

许多设计人员不经常使用它因为它的代码很复杂很吓人,但functions.php文件是WordPress中最强大的主题文件。 让我们来看看它提供了哪些强大的功能。

1、改变摘要的长度

WordPress摘要的默认大小是55个字。 如何这个数字不满足的你要求,你可以通过使用下面的代码在你的functions.php文件来覆盖此设置。

function new_excerpt_length($length) {
return 90;
}
add_filter('excerpt_length', 'new_excerpt_length');

这样,你的摘要就会显示90个字。


2、自动提取第一个图像

如果你想有一个缩略图像的功能,而又不希望每次创建,那么你可以尝试把它添加到你的functions.php文件中。

function first_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
}

这段代码会自动提取第一个图像,你要做的就是在需要显示缩略图的地方使用“echo first_image()”显示图片。


3、停止你博客的ping

通过添加简单no_self_ping函数来停止你博客的ping功能。

function no_self_ping( &$links ) {
$home = get_option( 'home' );
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, $home ) )
unset($links[$l]);
}
add_action( 'pre_ping', 'no_self_ping' );


4、在户配置文件中添加自定义字段

WordPress中用户配置文件不会给出太多的信息,但你可以在functions.php文件中,用下面这个简单的代码来扩展你的用户的信息。

function my_custom_userfields( $contactmethods ) {
$contactmethods['contact_phone_office'] = 'Office Phone';
$contactmethods['contact_phone_mobile'] = 'Mobile Phone';
return $contactmethods;
}
add_filter('user_contactmethods','my_custom_userfields',10,1);
通过添加多行来创建多个联系方法,然后通过下面的方法来调用:
$current_author = get_userdata(get_query_var('author'));
echo esc_url($current_author->contact_phone_office);


5、删除WordPress的版本信息

出于安全原因,您可能希望在网站中删除WordPress版本信息。那么,你可以在你的functions.php文件中添加下面的代码来实现。

function complete_version_removal() { return ''; } add_filter('the_generator', 'complete_version_removal');


6、限制发布修改的最大数目

文章修改功能是很强大的,但这样会使数据库变的庞大,下面这段代码添加到functions.php文件中即可限制发布修订的数量。

if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);


7、从谷歌的CDN加载jQuery

如果你想利用谷歌的服务器来加速你的网站,方法之一就是从谷歌的CDN加载jQuery。将以下代码添加到你的functions.php文件中,利用谷歌的版本来替换原来的jQuery脚本。

add_action( 'init', 'jquery_register' );
function jquery_register() {
if ( !is_admin() ) {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', ( 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' ), false, null, true );
wp_enqueue_script( 'jquery' );
}
}


8、在admin中显示所有网站的设置

下面的代码将添加一个额外的连接来设置菜单,并链接到“所有设置”,它将展示出你的数据库中涉及到你的WordPress网站的所有设置的完整列表。当然这个菜单只会让管理员用户看到,其他所有其他用户都看不到。

function all_settings_link() {
add_options_page(__('All Settings'), __('All Settings'), 'administrator', 'options.php');
}
add_action('admin_menu', 'all_settings_link');


9、显示数据库查询所花费的时间和消耗的内存

这是一个很强大的功能。如果你想了解你网站的访问速度,将下面代码添加到functions.php文件中,你就可以看到数据库运行情况,及网页运行时间和服务器内存消耗

function performance( $visible = false ) {
$stat = sprintf( '%d queries in %.3f seconds, using %.2fMB memory',
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024
);
echo $visible ? $stat : "<!-- {$stat} -->" ;
}
add_action( 'wp_footer', 'performance', 20 );

使用这个方法,你必须保证你的网站使用了wp_footer()。


10、启用简码插件

这是一个很好的功能。如果你想在网站中使用简码功能的插件,只要将下面的代码添加到functions.php文件中即可。

if ( !is_admin() ){
    add_filter('widget_text', 'do_shortcode', 11);
}



本文由UncleToo翻译整理,转咋请注明出处!

原文(英文)地址:http://setup-wp.com/926/10-cool-things-you-can-do-with-your-functions-php-files/




除非特别声明,本站所有PHP教程及其他教程/文章均为原创、翻译或网友投稿,版权均归UncleToo中文网所有, 转载请注明作者及出处。
原文网址:http://www.uncletoo.com/html/openobj/761.html
读完这篇文章后,你是否有所收获? 分享是一种生活的信念!
  • 0
  • 0
我来说两句
更多>>网友评论