作者归档:那一抹余晖

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

更新的SQL代码如下:

UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://localhost', 'https://www.jsdd.net'); 

UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'http://localhost', 'https://www.jsdd.net'); 

UPDATE wp_options SET  option_value = 'https://www.jsdd.net' WHERE option_name = 'siteurl' or option_name = 'home';

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

更改用户资料中的网址:

update wp_users set user_url='https://www.jsdd.net' 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';

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多站点模式。

2025

时间很快,仿佛一眨眼的功夫就到了2025年,新的一年,生活还要继续,这个网站也将会持续更新,在把之前的技术笔记更新完成之后,打算写一些系列教程,或者更新一些关注的技术资讯。

关于这个网站的名字,一直想换个名字,但是苦于没有合适的,所以也就将就用了。这个名字最初是另一个网站备案的时候,备案客服给我起的,后来索性就用了下来。

其实名字也无所谓了,主要的还是内容,能给中文互联网提供有价值的内容才是最主要的。

今天已经是腊月十三了,还有不到半个月的时间就要过年了,时间飞一般,稍有不慎就悄悄溜走了,新的一年,有什么想法要抓紧去做,要加油呀!

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' );

Debian 安装 killall 命令

昨天部署一台 Debian 12 服务器,发现竟然没有killall命令,那么就来安装一下吧。

执行apt install psmisc命令安装 psmic 包,这个包的官方仓库是 https://gitlab.com/psmisc/psmisc ,描述是“一组使用 proc 文件系统的小型实用程序”,包含以下六个实用工具:

  • fuser – 使用文件或套接字识别进程
  • killall – 根据名称终止进程,例如 killall -HUP named
  • prtstat – 打印进程的统计信息
  • pslog – 打印进程的日志路径
  • pstree – 以树的形式显示当前正在运行的进程
  • peekfd – 显示通过文件描述符传输的数据

安装完成后,就可以使用killall命令根据进程名称终止进程了。

后记:

2025年了,时间仿佛飞一般,一年转瞬即逝,新的一年已经到来,等过完了春节就到了阳历二月,再有十个月就是 2026 年了。所以,不要蹉跎岁月,有什么想法要抓紧时间去干。

移除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