定制 WordPress 的 8 个有用代码片段

定制 WordPress 的 8 个有用代码片段

WordPress 是一个高度灵活的平台,用户可以自定义 UI、网站结构和代码。通过使用代码片段,可以添加主题中不可用的功能,甚至可以替代一些付费功能。本文将分享八个非常有用的代码片段,帮助你定制 WordPress 网站的各个方面。

如何在 WordPress 中添加代码片段

了解如何在 WordPress 中添加代码片段是很重要的。可以将代码添加到主题的 functions.php 文件中,或者使用专门的插件来管理代码片段,如 Code Snippets 插件。

使用 Code Snippets 插件

定制 WordPress 的 8 个有用代码片段
  1. 安装并激活 Code Snippets 插件。
  2. 在 WordPress 仪表板中,转到“Snippets”>“Add New”。
  3. 将代码粘贴到代码框中,并为片段命名。
  4. 选择适当的运行条件(如仅在前端运行)。
  5. 保存并激活代码片段。

这种方法比直接编辑 functions.php 文件更安全,因为它避免了主题更新时的覆盖风险。

1. 禁用 WordPress 管理栏

有时可能希望禁用 WordPress 的管理栏,特别是对特定用户角色。以下是相关代码片段:

禁用所有用户的管理栏

// Disable the WordPress admin bar for all logged-in users
add_filter('show_admin_bar', '__return_false');

禁用特定用户角色的管理栏

function my_disable_admin_bar($show_admin_bar) {
  // Get the current user object
  $current_user = wp_get_current_user();
  // Disable admin bar for specific roles (replace 'editor' and 'subscriber' with desired roles)
  if ( in_array( 'editor', $current_user->roles ) || in_array( 'subscriber', $current_user->roles ) ) {
    return false;
  }
  return $show_admin_bar;
}
add_filter('show_admin_bar', 'my_disable_admin_bar');

提示:确保将代码类型保存为 PHP Snippet(在某些情况下)。

PHP 代码片段

2. 允许贡献者上传图片

默认情况下,WordPress 不允许贡献者帐户上传图片。以下代码片段可以为贡献者帐户提供上传图片的权限:

function grant_upload_permission_to_contributors() {
  $contributor_role = get_role('contributor');
  if ( ! $contributor_role->has_cap('upload_files') ) {
    $contributor_role->add_cap('upload_files');
  }
}
add_action('admin_init', 'grant_upload_permission_to_contributors');

3. 禁用自动更新电子邮件

每当 WordPress 自动更新插件和主题时,可能会收到大量通知邮件。以下代码片段可以禁用这些邮件通知:

// Disable auto-update emails for WordPress core
add_filter('auto_core_update_send_email', '__return_false');

// Disable auto-update emails for plugins
add_filter('auto_plugin_update_send_email', '__return_false');

// Disable auto-update emails for themes
add_filter('auto_theme_update_send_email', '__return_false');
定制 WordPress 的 8 个有用代码片段

4. 更新“你好”管理栏消息

如果觉得默认的“Howdy”问候语不合适,可以用自定义问候语代替:

function wpcode_snippet_replace_howdy( $wp_admin_bar ) {
    $new_howdy = 'This is Awesome,';
    $my_account = $wp_admin_bar->get_node('my-account');
    $wp_admin_bar->add_node(array(
        'id'    => 'my-account',
        'title' => str_replace('Howdy,', $new_howdy, $my_account->title),
    ));
}
add_filter('admin_bar_menu', 'wpcode_snippet_replace_howdy', 25);
定制 WordPress 的 8 个有用代码片段

5. 禁用搜索功能

如果你的网站不需要搜索功能,可以使用以下代码片段完全禁用它:

function fb_filter_query( $query, $error = true ) {
  if ( is_search() ) {
    $query->is_search = false;
    $query->query_vars[s] = false;
    $query->query[s] = false;
    if ( $error == true )
      $query->is_404 = true;
  }
}
add_action('parse_query', 'fb_filter_query');
add_filter('get_search_form', '__return_null');

6. 禁用自动清空垃圾

定制 WordPress 的 8 个有用代码片段

WordPress 会自动删除垃圾箱中超过 30 天的内容。以下代码可以禁用此功能:

add_action('init', function() {
  // Disable scheduled post deletion
  remove_action('wp_scheduled_delete', 'wp_scheduled_delete');
});

7. 允许 SVG 上传

SVG 格式非常适合徽标文件,但默认情况下,WordPress 不允许上传 SVG。以下代码片段可以启用 SVG 上传:

function enable_svg_upload_for_admins( $mime_types ) {
  // Allow SVG uploads only for administrators
  if ( current_user_can('administrator') ) {
    $mime_types['svg'] = 'image/svg+xml';
    $mime_types['svgz'] = 'image/svg+xml';
  }
  return $mime_types;
}
add_filter('upload_mimes', 'enable_svg_upload_for_admins');

8. 禁用自动更新

自动更新有时会导致兼容性问题。以下代码片段可以禁用 WordPress 核心、插件和主题的自动更新:

// Disable auto-updates for WordPress core, plugins, and themes
function disable_all_auto_updates() {
  add_filter('auto_update_core', '__return_false');
  add_filter('auto_update_plugin', '__return_false');
  add_filter('auto_update_theme', '__return_false');
}
add_action('admin_init', 'disable_all_auto_updates');
定制 WordPress 的 8 个有用代码片段

结论

使用代码片段可以帮助 WordPress 用户根据自己的需求精确定制网站,而无需深入的编码知识。本文提供的八个代码片段涵盖了从功能增强到用户体验优化的各个方面。通过精心整合这些代码片段,可以提升网站的整体性能和可用性。


联系我们
文章看不懂?联系我们为您免费解答!免费助力个人,小企站点!
电话:020-2206-9892
QQ咨询:1025174874
邮件:info@361sale.com
工作时间:周一至周五,9:30-18:30,节假日休息
发布者:光子波动,转转请注明出处:https://www.361sale.com/14769/

(0)
上一篇 2024年 7月 26日 下午4:18
下一篇 2024年 7月 26日 下午5:13

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

020-2206-9892

QQ咨询:1025174874

邮件:info@361sale.com

工作时间:周一至周五,9:30-18:30,节假日休息

客服微信
为方便全球用户注册登录,我们已取消电话登录功能。如遇登录问题,请联系客服协助绑定邮箱。