标签: wordpress

  • WordPress把本地项目迁移到服务器时,需要更新数据库相关链接

    更新的SQL代码如下:

    UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://lwbj.cn', 'https://lwbj.cn'); 
    
    UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'https://lwbj.cn', 'https://lwbj.cn'); 
    
    UPDATE wp_options SET  option_value = 'https://lwbj.cn' WHERE option_name = 'siteurl' or option_name = 'home';

    其中,https://lwbj.cn 表示线上网址。如果其它表中需要替换,新增相应的SQL语句即可。

    更改用户资料中的网址:

    update wp_users set user_url='https://lwbj.cn' where user_login='admin';

    更改用户资料中的邮箱:

    update wp_options set option_value='example@gmail.com' where option_name='admin_email';
    update wp_users set user_email='example@gmail.com' where user_login='admin';
  • 升级wordpress时提示 另一更新正在进行

    有升级wordpress时,一次不成功,再次尝试升级就会提示:另一更新正在进行。

    解决办法:

    在wp_options表里删除option_name为core_updater.lock这条记录就可以了。

    delete from wp_options where option_name='core_updater.lock';

  • nginx反代iis 支持泛域名,支持WordPress多站点

    nginx配置:

    upstream qd-aliyun-8006 {
        server x.x.x.x:8006;
    }
    
    server {
        listen 80;
        server_name softc.cc *.softc.cc;
    
        location / {
            proxy_pass http://qd-aliyun-8006;
            proxy_redirect default;
    
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Real-Port $remote_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Port  $server_port;
            proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
        }
    }
    

    注意是要有 proxy_set_header Host $host; 这一行。

  • WordPress开启多站点

    wordpress 有一个多站点模式,开启这个模式后,可以在一个后台管理多个独立的网站,省时方便。

    开启wordpress多站点模式非常简单,按下面的步骤操作即可:

    打开config.php,在 /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */ 这句话的上一行,添加如下代码:

    define('WP_ALLOW_MULTISITE', true);

     保存后,即可开启wordpress多站点模式。

  • WordPress 主题开发基础代码

    以下代码添加到functions.php:

    // 允许自动更新小版本,但禁止大版本更新
    add_filter( 'allow_major_auto_update', '__return_false' );
    add_filter( 'allow_minor_auto_update', '__return_true' );
    
    // 禁止后台更新页面显示新版本更新提示
    add_filter( 'site_transient_update_core', function( $value ) {
        if ( is_object( $value ) && isset( $value->updates ) ) {
            foreach ( $value->updates as $key => $update ) {
                // 移除新版本更新提示
                if ( version_compare( $update->current, get_bloginfo( 'version' ), '>' ) ) {
                    unset( $value->updates[ $key ] );
                }
            }
        }
        return $value;
    } );
    
    // 移除站点健康菜单
    add_action( 'admin_menu', 'remove_site_health_submenu', 999 );
    function remove_site_health_submenu() {
        $page = remove_submenu_page( 'tools.php', 'site-health.php' );
    }
    
    // 禁用站点健康功能
    add_filter('health_check_enabled', '__return_false');
    
    // 移除仪表盘中的小部件
    add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
    function remove_dashboard_widgets() {
        remove_meta_box('dashboard_site_health', 'dashboard', 'normal'); // 站点健康
        remove_meta_box('dashboard_activity', 'dashboard', 'normal'); // 活动
        remove_meta_box('dashboard_primary', 'dashboard', 'side'); // 新闻
        // remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); // 保留快速草稿
        remove_meta_box('dashboard_right_now', 'dashboard', 'normal'); // 概览
        remove_action('welcome_panel', 'wp_welcome_panel');// 欢迎小部件
    }
    
    // Hide dashboard update notifications for all users
    function kinsta_hide_update_nag() {
        remove_action( 'admin_notices', 'update_nag', 3 );
    }
    add_action('admin_menu','kinsta_hide_update_nag');
    
    //禁用 emoji(表情符号)功能
    remove_action('wp_head', 'print_emoji_detection_script', 7);
    remove_action('wp_print_styles', 'print_emoji_styles');
    
    //移除后台左上角WP图标
    function remove_wp_logo($wp_admin_bar) {
        $wp_admin_bar->remove_node('wp-logo');
    }
    add_action('admin_bar_menu', 'remove_wp_logo', 999);
    
    // 让wp_head()函数支持显示title标签
    add_theme_support( 'title-tag' );
  • WordPress禁用自动更新

    禁用自动插件更新

    add_filter( 'auto_update_plugin', '__return_false' );

    关闭主题更新,请使用以下代码:

    add_filter( 'auto_update_theme', '__return_false' );
  • WordPress隐藏后台所有页面顶部的更新提醒

    在使用WordPress时,你可能会发现,后台会经常弹出更新提醒,提示你更新插件、主题或者WordPress版本。虽然这些提醒对于维护网站的安全性非常重要,但在某些情况下,你可能希望隐藏这些更新通知,特别是在多用户环境中,或者当你不希望后台界面显得太杂乱时。

    本文将介绍一种通过修改functions.php文件来隐藏所有后台更新提醒的方法。

    WordPress后台更新提醒

    为什么要隐藏更新提醒?

    1. 减少干扰:有时候后台的更新通知会影响用户体验,特别是当你不打算立刻进行更新时。
    2. 防止干扰管理员:如果你是为他人管理网站,且希望他们专注于内容创作而非更新通知,这个方法非常有效。
    3. 避免提醒重复:有时更新通知会在每次登录时出现,而你已经知道当前的状态,选择忽略提醒也许更合适。

    步骤1:修改functions.php文件

    1. 进入你网站的文件管理器(如cPanel)或者通过FTP客户端连接到你的WordPress站点。
    2. 找到当前主题的functions.php文件。路径通常为 /wp-content/themes/your-theme/functions.php
    3. 打开该文件,添加以下代码:
    // Hide dashboard update notifications for all users
    function kinsta_hide_update_nag() {
        remove_action( 'admin_notices', 'update_nag', 3 );
    }
    add_action('admin_menu','kinsta_hide_update_nag');

    代码解释

    • remove_action( 'admin_notices', 'update_nag', 3 );:这行代码的作用是从WordPress后台的通知区域中移除更新提醒的动作。update_nag是显示更新通知的钩子,admin_notices是所有后台通知的钩子,我们通过remove_action来取消它。
    • add_action('admin_menu', 'kinsta_hide_update_nag');:这行代码将在WordPress加载后台菜单时执行kinsta_hide_update_nag函数,从而在后台隐藏更新提醒。

    步骤2:保存并刷新

    修改并保存functions.php文件后,刷新你的WordPress后台页面,你会发现顶部的更新提醒已经消失了。

    步骤3:验证效果

    1. 登录WordPress后台,检查顶部是否仍然显示更新提醒。
    2. 如果操作成功,后台页面应该不再显示任何关于更新的通知。

    注意事项

    • 操作风险functions.php文件是你主题的重要文件,错误的代码可能导致网站无法正常加载。建议在修改前备份文件,或者使用子主题来进行修改。
    • 影响更新提醒:这段代码会隐藏所有类型的更新提醒(包括WordPress版本更新、插件更新、主题更新)。如果你需要再次看到某些更新通知,你可能需要移除或修改这段代码。
    • 全站生效:该方法适用于隐藏所有用户(包括管理员)看到的更新提醒。如果你只希望为某些用户隐藏更新提醒,可能需要进一步自定义代码。
    • 更新后问题:当你更新WordPress或插件时,更新提醒有时会重新出现。你可能需要再次应用此方法。

    结论

    通过修改functions.php文件来隐藏WordPress后台的更新提醒,是一种简单且有效的方法,特别适用于那些希望清理后台界面,减少干扰的站点管理员。通过上述步骤,你可以轻松隐藏不需要的通知,从而提高用户体验。

    不过,建议在长期使用时,定期检查和更新你的WordPress版本、插件和主题,以确保网站的安全性和稳定性。

  • 禁止wordpress所有更新

    在wp-config.php里添加

    define('DISALLOW_FILE_MODS', true);

    这将阻止所有文件更新,包括主题和插件的更新,也会屏蔽新版本的提示。

  • 移除wordpress后台相关的功能

    // 移除站点健康菜单
    add_action( 'admin_menu', 'remove_site_health_submenu', 999 );
    function remove_site_health_submenu() {
        $page = remove_submenu_page( 'tools.php', 'site-health.php' );
    }
    
    // 禁用站点健康功能
    add_filter('health_check_enabled', '__return_false');
    
    // 移除仪表盘中的小部件
    add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
    function remove_dashboard_widgets() {
        remove_meta_box('dashboard_site_health', 'dashboard', 'normal'); // 站点健康
        remove_meta_box('dashboard_activity', 'dashboard', 'normal'); // 活动
        remove_meta_box('dashboard_primary', 'dashboard', 'side'); // 新闻
        // remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); // 保留快速草稿
        remove_meta_box('dashboard_right_now', 'dashboard', 'normal'); // 概览
        remove_action('welcome_panel', 'wp_welcome_panel');// 欢迎小部件
    }
  • wordpress apache .htaccess

    如果使用apache来部署wordpress,这是相应的.ataccess文件的内容,记录以备用。

    # BEGIN WordPress
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress