所有的WordPress主题都有一个强大的functions.php文件。 这个文件作为一个插件,并允许你在你的WordPress网站上做很多很酷的事情。 在本文中,我们将向您展示一些您的WordPress功能文件最有用的技巧。
什么是WordPress的功能文件?
通常称为functions.php文件的函数文件是一个WordPress主题文件。 它带有所有免费和高级的WordPress主题。
这个文件的目的是让主题开发者定义主题特征和功能。 这个文件就像一个WordPress插件,可以用来在WordPress中添加自己的自定义代码片段。
现场
现在你可能会想到,特定于站点的WordPress插件和functions.php文件有什么不同? 哪一个更好?
虽然functions.php文件更方便,但是特定于站点的插件要好得多。 只是因为它是独立于你的WordPress主题,无论你正在使用哪个主题都可以工作。
另一方面,主题的功能文件只适用于该主题,如果切换主题,则必须将自定义代码复制/粘贴到新主题中。
话虽如此,以下是一些WordPress功能文件非常有用的技巧。
1.删除WordPress版本号
你应该总是使用最新版本的WordPress。 不过,您可能仍然希望从您的网站中删除WordPress版本号。 只需将此代码片段添加到您的函数文件。
函数wpb_remove_version(){ 返回“; } add_filter('the_generator','wpb_remove_version');
有关详细说明
2.添加自定义仪表板徽标
想要白色标签你的WordPress管理区域? 添加自定义仪表板徽标是该流程的第一步。
首先,您需要将自定义徽标上传到您主题的图片文件夹,名称为custom-logo.png。 确保您的自定义徽标尺寸为16×16像素。
之后,您可以将此代码添加到您的主题的功能文件。
函数wpb_custom_logo(){ 回声' “; } //钩入管理页眉输出 add_action('wp_before_admin_bar_render','wpb_custom_logo');
3.更改WordPress管理面板中的页脚
WordPress管理区域的页脚显示“谢谢用WordPress创建”消息。 您可以通过添加此代码将其更改为任何您想要的。
函数remove_footer_admin(){ 回声'由WordPress的燃料| WordPress教程:网站'; } add_filter('admin_footer_text','remove_footer_admin');
随意更改要添加的文本和链接。 这是它在我们的测试网站上的外观。
4.在WordPress中添加自定义仪表板小部件
您可能已经看到了小部件,在WordPress仪表板中添加了大量的插件和主题。 作为主题开发人员,您可以通过粘贴以下代码自行添加一个:
add_action('wp_dashboard_setup','my_custom_dashboard_widgets'); 函数my_custom_dashboard_widgets(){ 全球$ wp_meta_boxes; wp_add_dashboard_widget('custom_help_widget','主题支持','custom_dashboard_help'); } 函数custom_dashboard_help(){ 回声'欢迎来到自定义博客主题! 需要帮忙? 在这里联系开发者。
“; }
这是这样的:
详情
5.更改WordPress中的默认Gravatar
你有没有在博客上看到默认的神秘人头像? 您可以轻松地将其替换为您自己品牌的自定义头像。 简单地上传您想要使用的图像作为默认头像,然后将此代码添加到您的功能文件。
add_filter('avatar_defaults','wpb_new_gravatar'); 函数wpb_new_gravatar($ avatar_defaults){ $ myavatar ='http://example.com/wp-content/uploads/2017/01/wpb-default-gravatar.png'; $ avatar_defaults [$ myavatar] =“默认Gravatar”; 返回$ avatar_defaults; }
现在你可以前往 设置»讨论 页面并选择您的默认头像。
有关详细说明
6. WordPress页脚动态版权日期
您可以通过编辑主题中的页脚模板来简单地添加版权日期。 但是,它不会显示您的网站何时启动,明年不会自动更改。
您可以使用此代码在WordPress页脚中添加动态版权日期。
函数wpb_copyright(){ 全局$ wpdb; $ copyright_dates = $ wpdb-> get_results(“ 选择 YEAR(min(post_date_gmt))AS firstdate, YEAR(max(post_date_gmt))AS lastdate 从 $ wpdb->的帖子 哪里 post_status ='发布' “); $ output =''; 如果($ copyright_dates){ $ copyright =“©” $ copyright_dates [0] - > firstdate; if($ copyright_dates [0] - > firstdate!= $ copyright_dates [0] - > lastdate){ $ copyright。=' - '。 $ copyright_dates [0] - > lastdate; } $ output = $ copyright; } 返回$输出; }
添加此功能后,您需要打开您的footer.php文件,并添加以下代码,无论您想显示动态版权日期:
这个函数查找你的第一篇文章的日期和你上一篇文章的日期。 随后,无论你在哪里调用这个函数,它都会回应你。
更多细节
7.在WordPress中随机更改背景颜色
你想随机更改你的WordPress的背景颜色在每次访问和页面重新加载? 这是如何轻松做到这一点。
首先,您需要将此代码添加到主题的功能文件中。
函数wpb_bg(){ $ rand = array(0,1,2,3,4,5,6,7,8, b','c','d','e','f'); $ rand [rand(0,15)]。$ rand [rand(0,15)]。$ rand [rand(0,15)]。 。$兰特[兰特(0,15)] $兰特[兰特(0,15)] $兰特[兰特(0,15)]; echo $ color; }
接下来,您需要编辑主题中的header.php文件。 找到 标签并添加替换它与这一行:
风格=“背景色: “>>
您现在可以保存您的更改并访问您的网站以查看此操作。
有关更多细节和替代方法
8.更新WordPress网址
如果您的WordPress登录页面不断刷新或者无法访问管理区域,则需要更新WordPress网址。
一种方法是使用wp-config.php文件。 但是,如果你这样做,你将无法在设置页面上设置正确的地址。 WordPress网址和网站网址字段将被锁定且不可编辑。
如果你想解决这个问题,那么你应该把这个代码添加到你的函数文件中。
update_option('siteurl','http://example.com'); update_option('home','http://example.com');
不要忘记用自己的域名替换example.com。
登录后,您可以转到“设置”并在其中设置网址。 之后,你应该删除你添加到功能文件的代码,否则它会不断更新这些网址,每当你的网站被访问。
9.在WordPress中添加其他图片大小
上传图片时,WordPress会自动创建多个图片大小。 您还可以创建其他图像大小以用于主题。 添加此代码您的主题的功能文件。
add_image_size('sidebar-thumb',120,120,true); //硬裁切模式 add_image_size('homepage-thumb',220,180); //软裁切模式 add_image_size('singlepost-thumb',590,9999); //无限高度模式
此代码创建三个不同大小的新图像大小。 随意调整代码,以满足您自己的要求。
您可以使用此代码在主题中的任意位置显示图片大小。
有关详细说明
10.添加新的导航菜单到你的主题
WordPress允许主题开发者定义导航菜单,然后显示它们。 将此代码添加到主题的功能文件中,以在主题中定义新的菜单位置。
函数wpb_custom_new_menu(){ register_nav_menu('my-custom-menu',__('My Custom Menu')); } add_action('init','wpb_custom_new_menu');
你现在可以去了 外观»菜单 你会看到“我的自定义菜单”作为主题位置选项。
现在,您需要将此代码添加到要显示导航菜单的主题中。
“我的定制菜单”, 'container_class'=>'custom-menu-class')); ?>
有关详细说明
11.添加作者配置文件字段
你想添加额外的字段到WordPress的作者配置文件? 你可以很容易地通过添加这个代码到你的函数文件:
函数wpb_new_contactmethods($ contactmethods){ //添加Twitter $ contactmethods ['twitter'] ='Twitter'; //添加Facebook $ contactmethods ['脸谱'] ='Facebook'; 返回$ contactmethods; } 的add_filter( 'user_contactmethods', 'wpb_new_contactmethods',10,1);
这段代码将把Twitter和Facebook字段添加到WordPress的用户配置文件中。
您现在可以在您的作者模板中显示这些字段,如下所示:
推特; ?>
12.在WordPress主题中添加Widget就绪区域或边栏
这是最常用的之一,许多开发人员已经知道这一点。 但是这个名单对于那些不知道的人来说是值得的。 将以下代码粘贴到您的functions.php文件中:
//注册侧边栏 函数custom_sidebars(){ $ args = array( 'id'=>'custom_sidebar', 'name'=> __('Custom Widget Area','text_domain'), 'description'=> __('自定义小部件区域','text_domain'), 'before_title'=>'”, 'after_title'=>'
”, 'before_widget'=>' ”, ); register_sidebar($ args); } add_action('widgets_init','custom_sidebars');
你现在可以访问 外观»小工具 页面,你会看到你的新的自定义小部件区域。
要在主题中显示此边栏或小工具就绪区域,请添加以下代码:
13.操作RSS源页脚
你有没有看过在每篇文章下方的RSS Feeds中添加广告的博客? 你可以用一个简单的功能轻松完成。 粘贴以下代码:
功能site_postrss($内容){ 如果(is_feed()){ $ content ='这篇文章是由Syed Balkhi写的'$ content.'Check out site'; } 返回$ content; } add_filter('the_excerpt_rss','site_postrss'); add_filter('the_content','site_postrss');
了解更多信息
14.将特色图片添加到RSS源
帖子缩略图或精选图片通常只会显示在您的网站设计中。 您可以使用RSS提要中的一个简单功能轻松地将该功能扩展到您的RSS提要。
函数rss_post_thumbnail($ content){ 全球$ post; if(has_post_thumbnail($ post-> ID)){ $ content =''。 get_the_post_thumbnail($ post-> ID)。 “
'。 get_the_content(); } 返回$ content; } add_filter('the_excerpt_rss','rss_post_thumbnail'); add_filter('the_content_feed','rss_post_thumbnail');
15.隐藏WordPress的登录错误
WordPress中的登录错误可以被黑客用来猜测他们是否输入了错误的用户名或密码。 通过在WordPress中隐藏登录错误,您可以使您的登录区域更安全一些。
函数no_wordpress_errors(){ 返回“有什么不对!”; } add_filter('login_errors','no_wordpress_errors');
现在,用户输入不正确的用户名或密码时会看到一条通用消息。
了解更多信息
16.在WordPress中禁用通过电子邮件登录
WordPress允许用户使用用户名或电子邮件地址登录。 你可以通过添加这个代码到你的函数文件,很容易地禁用WordPress的电子邮件登录。
remove_filter('authenticate','wp_authenticate_email_password',20);
17.在WordPress中禁用搜索功能
如果你想禁用你的WordPress网站上的搜索功能,那么只需将此代码添加到你的功能文件。
函数fb_filter_query($ query,$ error = true){ if(is_search()){ $ query-> is_search = false; $ query-> query_vars [s] = false; $ query-> query [s] = false; //发生错误 如果($ error == true) $ query-> is_404 = true; } } add_action('parse_query','fb_filter_query'); add_filter('get_search_form',create_function('$ a',“return null;”));
了解更多信息
18.在RSS Feed中延迟帖子
有时你可能会在文章中出现语法错误或拼写错误。 错误将生效,并分发给您的RSS订阅用户。 如果您在WordPress博客上有订阅电子邮件,那么这些订阅者也会收到。
只需在主题的函数文件中添加此代码即可。
函数publish_later_on_feed($ where){ 全局$ wpdb; if(is_feed()){ // WP格式的时间戳 $ now = gmdate('Y-m-d H:i:s'); //值得等待; +设备 $ wait ='10'; // 整数 // http://dev.mysql.com/doc/refman/5.0/zh/date-and-time-functions.html#function_timestampdiff $ device ='MINUTE'; //分钟,小时,日,星期,月,年 //将SQL-sytax添加到默认的$ where $ where。=“AND TIMESTAMPDIFF($ device,$ wpdb-> posts.post_date_gmt,'$ now')> $ wait”; } 返回$ where; } add_filter('posts_where','publish_later_on_feed');
在这个代码中,我们使用了10分钟作为$等待或延迟时间。 随意更改为任何你想要的分钟数。
用于插件方法和更多信息
19.改变阅读更多文字摘录在WordPress
您想要更改摘录后显示的文字吗? 只需将此代码添加到您的主题的功能文件。
函数modify_read_more_link(){ 返回“您的更多链接文本”; } add_filter('the_content_more_link','modify_read_more_link');
20.禁用WordPress中的RSS源
并非所有网站都需要RSS提要。 如果你想在你的WordPress站点上禁用RSS提要,那么把这个代码添加到你的主题的函数文件中。
函数fb_disable_feed(){ wp_die(__('没有可用的饲料,请访问我们的主页!')); } add_action('do_feed','fb_disable_feed',1); add_action('do_feed_rdf','fb_disable_feed',1); add_action('do_feed_rss','fb_disable_feed',1); add_action('do_feed_rss2','fb_disable_feed',1); add_action('do_feed_atom','fb_disable_feed',1);
有关插件方法和更多信息
21.改变WordPress的摘录长度
WordPress限制了55字的摘录长度。 如果你需要改变这个,那么你可以把这个代码添加到你的函数文件中。
functionnew_excerpt_length($ length){ 返回100; } add_filter('excerpt_length','new_excerpt_length');
将100更改为您要在摘录中显示的字数。
对于替代方法,你可能想看看我们的指导如何自定义WordPress摘录(不需要编码)。
22.在WordPress中添加一个管理员用户
如果您忘记了您的WordPress密码和电子邮件,则可以使用FTP客户端将此代码添加到主题的功能文件中,以添加管理员用户。
函数wpb_admin_account(){ $ user ='用户名'; $ pass ='密码'; $ email ='[email protected]'; if(!username_exists($ user)&&!email_exists($ email)){ $ user_id = wp_create_user($ user,$ pass,$ email); $ user = new WP_User($ user_id); $ user-> set_role('administrator'); }} ADD_ACTION( '初始化', 'wpb_admin_account');
不要忘记填写用户名,密码和电子邮件字段。 一旦你登录到你的WordPress网站,不要忘记从你的功能文件中删除代码。
有关此主题的更多信息,请参阅我们的教程,了解如何使用FTP在WordPress中添加管理员用户。
23.从WordPress仪表板中删除欢迎面板
欢迎面板是添加到WordPress管理区的仪表板屏幕的元框。 它为初学者在他们的新WordPress网站上提供有用的快捷键。
您可以通过在您的函数文件中添加此代码来轻松隐藏。
remove_action('welcome_panel','wp_welcome_panel');
有关其他方法和更多细节,请查看我们的指南,了解如何在WordPress控制面板中删除欢迎面板。
24.显示WordPress的注册用户总数
你想在你的WordPress网站上显示注册用户的总数? 只需将此代码添加到您的主题的功能文件。
//返回用户数的函数 函数wpb_user_count(){ $ usercount = count_users(); $ result = $ usercount ['total_users']; 返回$结果; } //创建一个简码来显示用户数量 add_shortcode('user_count','wpb_user_count');
此代码会创建一个简码,使您可以显示您网站上的注册用户总数。 现在,您只需将此简码添加到您要显示用户总数的帖子或页面的[user_count]即可。
有关更多信息和插件方法
25.从RSS源排除特定类别
你想排除你的WordPress的RSS饲料的具体类别? 将此代码添加到您的主题的功能文件。
函数exclude_category($ query){ 如果($ query-> is_feed){ $ query-> set('cat','-5,-2,-3'); } 返回$查询; } add_filter('pre_get_posts','exclude_category');
26.在文本窗口小部件中启用简码执行
默认情况下,WordPress不会在文本小部件中执行短代码。 为了解决这个问题,你需要简单的将这段代码添加到你的主题的函数文件中。
//在文本小部件中启用短代码 的add_filter( 'widget_text', 'do_shortcode');
有关其他方法和更多信息,请参阅我们的关于如何在WordPress侧边栏小部件中使用简码的指南。
27.添加奇数和偶数的CSS类到WordPress的帖子
您可能已经看到WordPress的主题,使用老的甚至是类的WordPress评论。 它可以帮助用户可视化一个评论结束和下一个开始的地方。
您可以使用相同的技术为您的WordPress的帖子。 它外观美观,可帮助用户快速浏览包含大量内容的网页。 只需将此代码添加到您的主题的功能文件。
函数oddeven_post_class($ classes){ 全球$ current_class; $ classes [] = $ current_class; $ current_class =($ current_class =='odd')? 'even':'odd'; 返回$类; } add_filter('post_class','oddeven_post_class'); 全球$ current_class; $ current_class ='odd';
这个代码只是添加一个奇怪的,甚至类WordPress的帖子。 现在您可以添加自定义CSS来以不同的方式进行设置 这里是一个示例代码,以帮助您开始。
.even { 背景:#f0f8ff; } .odd { 背景:#f4f4fb; }
最终结果如下所示:
需要更详细的说明? 看看我们的教程,如何添加奇怪/偶数类到您的文章在WordPress主题。
28.添加额外的文件类型在WordPress上传
默认情况下,WordPress允许你上传有限数量的最常用的文件类型。 但是,您可以扩展它以允许其他文件类型。 将此代码添加到您的主题的功能文件中:
函数my_myme_types($ mime_types){ $ mime_types ['svg'] ='image / svg + xml'; //添加svg扩展名 $ mime_types ['psd'] ='image / vnd.adobe.photoshop'; //添加photoshop文件 返回$ mime_types; } add_filter('upload_mimes','my_myme_types',1,1);
这段代码允许你将SVG和PSD文件上传到WordPress。 您需要Google找出您想要允许的文件类型的MIME类型,然后在代码中使用它。
有关此主题的更多信息,请查看我们的教程,了解如何添加要在WordPress中上传的其他文件类型。
29.删除WordPress中的默认图像链接
默认情况下,当您在WordPress上传图片时,它会自动链接到图片文件或附件页面。 如果用户点击图片,他们将被带到远离帖子的新页面。
这里是如何轻松阻止WordPress自动链接图片上传。 你所要做的就是把这个代码片段添加到你的函数文件中:
函数wpb_imagelink_setup(){ $ image_set = get_option('image_default_link_type'); if($ image_set!=='none'){ update_option('image_default_link_type','none'); } } add_action('admin_init','wpb_imagelink_setup',10);
现在当你在WordPress上传一个新的图片时,它不会被自动链接。 你仍然可以链接到文件或附件页面,如果你想。
你可能想看看我们的教程,关于如何删除WordPress的默认图像链接替代插件的方法和更多的信息。
30.在WordPress帖子中添加一个作者信息框
如果您运行多作者网站并希望在帖子末尾展示作者bios,那么您可以尝试使用此方法。 首先将这个代码添加到你的函数文件中:
函数wpb_author_info_box($ content){ 全球$ post; //检测是否有帖子作者的单个帖子 if(is_single()&& isset($ post-> post_author)){ //获取作者的显示名称 $ display_name = get_the_author_meta('display_name',$ post-> post_author); //如果显示名称不可用,则使用昵称作为显示名称 if(empty($ display_name)) $ display_name = get_the_author_meta('nickname',$ post-> post_author); //获取作者的传记信息或描述 $ user_description = get_the_author_meta('user_description',$ post-> post_author); //获取作者的网站网址 $ user_website = get_the_author_meta('url',$ post-> post_author); //获取作者档案页面的链接 $ user_posts = get_author_posts_url(get_the_author_meta('ID',$ post-> post_author)); if(!empty($ display_name)) $ author_details ='“; if(!empty($ user_description)) //作者头像和生物 $ author_details。=' “; $ author_details。=' “; } else { //如果没有作者网站,则关闭该段落 $ author_details。=''; } //通过所有这些信息发布内容 $ content = $ content。 “ “; } 返回$ content; } //将我们的功能添加到发布内容过滤器 add_action('the_content','wpb_author_info_box'); //在作者生物部分允许HTML remove_filter('pre_user_description','wp_filter_kses');
接下来,您将需要添加一些自定义CSS,使其看起来更好。 您可以使用此示例CSS作为起点。
.author_bio_section { 背景:无重复滚动0 0#F5F5F5; 填充:15px; border:1px solid #ccc; } .author_name { 字体大小:16px的; font-weight:bold; } .author_details img { border:1px solid#D8D8D8; 边界半径:50%; 向左飘浮; 保证金:0 10px 10px 0; }
这就是你的作者框的样子:
有关插件方法和更详细的说明,请查看我们的文章,了解如何在WordPress文章中添加作者信息框。
31.在WordPress中禁用XML-RPC
XML-RPC是一种允许第三方应用程序远程与您的WordPress站点通信的方法。 这可能会导致安全问题,并可以被黑客利用。
只需将此代码添加到您的函数文件中即可关闭WordPress中的XML-RPC:
add_filter('xmlrpc_enabled','__return_false');
您可能想要阅读我们的文章,了解如何在WordPress中禁用XML-RPC以获取更多信息。
32.自动链接精选图像到帖子
如果您的WordPress主题不会自动将精选图片链接到完整文章,那么您可以尝试这种方法。 只需将此代码添加到您的主题的功能文件。
函数wpb_autolink_featured_images($ html,$ post_id,$ post_image_id){ 如果(!is_singular()){ $ html =''。 $ html。 ''; 返回$ html; } else { 返回$ html; } } add_filter('post_thumbnail_html','wpb_autolink_featured_images',10,3);
您可能想要阅读我们的文章,了解如何自动将精选图片链接到WordPress中的帖子。
目前为止就这样了。
我们希望这篇文章能帮助你学习一些新的功能