wordpress函数之get_term_by

该函数用来获取一个分类的信息,实际是 wp_terms 和 wp_term_taxonomy 表的联合查询

第一个参数表示根据 wp_terms 表的哪个字段查询

第二个参数表示该字段的值

第三个参数表示分类法的名称,即 wp_term_taxonomy 表的 taxonomy

$term=get_term_by('slug','software','product_category');

wordpress函数之wp_trim_words

wordpress有个wp_trim_words函数,该函数的功能是对给定的内容进行截取,可以指定截取多少个字,用法示例代码如下:

<?php
echo wp_trim_words( get_the_content(), 66 ); // 文章内容
echo wp_trim_words( get_the_excerpt(), 66 ); // 文章摘要
echo wp_trim_words( get_the_title(), 30 ); // 文章标题
?>

WordPress 更换域名时,需要更新数据库相关链接

当需要对wordpress网站搬家时,或者在本地开发完成后,上传到服务器之后,需要对数据库中的一些链接做一些更新,以便使用最新的域名。本文介绍了在这种情况下,该如何对wordpress数据库进行操作。

更新的SQL代码如下:

UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://localhost', 'https://notes.wujie.me'); 

UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'http://localhost', 'https://notes.wujie.me'); 

UPDATE wp_options SET  option_value = 'https://notes.wujie.me' WHERE option_name = 'siteurl' or option_name = 'home';

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

更改用户资料中的网址:

update wp_users set user_url='https://notes.wujie.me' 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多站点模式。

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隐藏后台所有页面顶部的更新提醒

在使用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版本、插件和主题,以确保网站的安全性和稳定性。