在 WordPress 开发过程中,掌握一套高效、常用的代码片段能大大提高开发效率,减少重复劳动,并增强网站的灵活性与可维护性。本文精心整理了一些 WordPress 开发者在实际项目中常用的代码片段,涵盖主题开发、性能优化、安全加固和后台定制等方面,帮助你轻松应对日常开发需求。
一、禁用 WordPress 头部多余信息
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
说明:这些代码可以清理 WordPress 前端 <head>
中不必要的输出,提升加载速度,降低信息泄露风险。
二、禁止自动保存和修订版本
define('AUTOSAVE_INTERVAL', 86400 ); // 自动保存间隔(秒)
define('WP_POST_REVISIONS', false); // 禁用文章修订版本
说明:适用于追求数据库轻量化的项目,尤其是内容频繁更新的网站。
三、自定义后台登录页面 Logo
function custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image: url(' . get_stylesheet_directory_uri() . '/images/login-logo.png) !important; background-size: contain !important; width: auto !important; }
</style>';
}
add_action('login_head', 'custom_login_logo');
说明:将后台登录页面 Logo 替换为你的品牌标识,提升客户体验。
四、WordPress 添加文章缩略图支持
add_theme_support('post-thumbnails');
说明:是开发主题时常用的功能开启代码,可以在文章、页面中调用缩略图。
五、限制上传文件类型
function custom_mime_types($mimes) {
$mimes['svg'] = 'image/svg+xml'; // 允许 SVG 上传
unset($mimes['exe']); // 禁止 EXE 上传
return $mimes;
}
add_filter('upload_mimes', 'custom_mime_types');
说明:增强网站安全性并根据需求灵活配置上传文件类型。
六、修改 WordPress 后台菜单名称
function rename_wp_admin_menu() {
global $menu;
foreach ($menu as $key => $item) {
if ($item === 'Posts') {
$menu[$key] = '文章管理';
}
}
}
add_action('admin_menu', 'rename_wp_admin_menu');
说明:适用于定制化后台 UI,让客户更容易理解各模块含义。
七、禁用 REST API(提升安全)
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
说明:如果你的网站不使用 REST API,可以禁用以降低安全风险。
八、添加主题设置选项页面(简易版)
function my_theme_menu() {
add_menu_page('主题设置', '主题设置', 'manage_options', 'theme-settings', 'my_theme_settings_page');
}
add_action('admin_menu', 'my_theme_menu');
function my_theme_settings_page() {
echo '<h1>欢迎使用主题设置面板</h1>';
}
说明:为你的主题添加一个后台设置界面,适合进一步集成 Redux、CMB2 等框架。
九、WordPress 自动设置特色图像为第一张图
function auto_set_featured_image() {
global $post;
if (!has_post_thumbnail($post->ID)) {
$attached_image = get_children("post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1");
if ($attached_image) {
foreach ($attached_image as $attachment_id => $attachment) {
set_post_thumbnail($post->ID, $attachment_id);
}
}
}
}
add_action('the_post', 'auto_set_featured_image');
说明:适用于忘记设置特色图的用户,自动提取第一张图片作为缩略图。
十、移除 WordPress 版本号
function remove_wp_version() {
return '';
}
add_filter('the_generator', 'remove_wp_version');
说明:进一步保护网站信息,防止被扫版本漏洞。
总结
这些代码片段虽然简单,但在 WordPress 项目中极具实用价值。作为开发者,掌握并灵活应用这些片段,不仅能加快开发进程,还能提升项目质量与安全性。如果你有自己的常用片段,也欢迎在评论区分享出来一起交流!