作者: admin

  • 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_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

  • 常用的WordPress模板文件

    wordpress模版文件相关对照:

    sidebar.php(侧边栏),

    index.php(首页索引),

    style.css(样式文件),

    category.php(分类目录),

    archive.php(文章存档),

    search.php(搜索文件),

    single.php(文章详情),

    page.php(单页/独立页),

    tag.php(标签文件),

    author.php(作者),

    functions.php(主题函数),

    404.php(404错误页),

    header.php(头部文件),

    footer.php(底部文件),

    comments.php(评论)。

    常用的WordPress模板文件

    以下是WordPress识别的一些基本主题模板和文件的列表。

    • index.php 主模板文件。 所有主题都是必需的。
    • style.css 主要样式表。 它在所有主题中都是必需的,并且包含主题的信息标题。
    • rtl.css 如果网站语言的文本方向是从右到左,则自动包含从右到左的样式表。
    • comments.php 评论模板。
    • front-page.php 首页模板始终用作站点首页(如果存在),无论管理员>设置>阅读上的设置如何。
    • home.php 默认情况下,主页模板是首页模板。 如果您没有将WordPress设置为使用静态首页,则此模板用于显示最新的帖子。
    • header.php 标题模板文件通常包含您的站点的文档类型,元信息,样式表和脚本的链接以及其他数据。
    • singular.php 单独的模板用于没有找到single.php的帖子,或者当没有找到page.php的页面时。 如果没有找到singular.php,则使用index.php。
    • single.php 当访问者请求单个帖子时,使用单个帖子模板。
    • single-{post-type}.php 访问者从自定义帖子类型请求单个帖子时使用的单个帖子模板。 例如,single-book.php将用于从定制的帖子类型命名的书中显示单个帖子。 如果不存在自定义帖子类型的特定查询模板,则使用index.php。
    • archive-{post-type}.php 当访问者请求自定义帖子类型归档时,将使用归档文件类型模板。 例如,archive-books.php将用于显示自定义帖子类型命名书籍的帖子存档。 如果archive-{post-type} .php不存在,则使用archive.php模板文件。
    • page.php 当访问者请求单独的页面(内置模板)时,将使用页面模板。
    • page-{slug}.php 访问者请求特定页面时使用页面插件模板,例如使用“about”slug(page-about.php)的页面插件模板。
    • category.php 当访问者按类别请求帖子时,将使用类别模板。
    • tag.php 当访问者通过标签请求帖子时,使用标记模板。
    • taxonomy.php 当访问者在自定义分类法中请求术语时,将使用分类术语模板。
    • author.php 访问者加载作者页面时,将使用作者页面模板。
    • date.php 日期/时间模板在通过日期或时间请求帖子时使用。 例如,使用这些子生成的页面:
    • http://example.com/blog/2014/
    • http://example.com/blog/2014/05/
    • http://example.com/blog/2014/05/26/
    • archive.php 当访问者按类别,作者或日期请求帖子时,使用归档模板。 注意:如果存在类似于category.php,author.php和date.php的更多特定模板,则此模板将被覆盖。
    • search.php 搜索结果模板用于显示访问者的搜索结果。
    • attachment.php 当查看单个附件(如图像,pdf或其他媒体文件)时,将使用附件模板。
    • image.php 图像附件模板是attachment.php的更具体的版本,在查看单个图像附件时使用。 如果不存在,WordPress将使用attachment.php。
    • 404.php 当WordPress找不到与访问者请求相匹配的帖子,页面或其他内容时,将使用404模板。

    使用模板文件

    在WordPress模板中,您可以使用模板标签动态显示信息,包括其他模板文件,或以其他方式自定义您的网站。

    例如,在index.php中,您可以在最终生成的页面中包含其他文件:

    • 要包括标题,请使用 get_header()
    • 要包含边栏,请使用 get_sidebar()
    • 要包括页脚,请使用 get_footer()
    • 要包含搜索表单,请使用 get_search_form()
    • 要包括自定义主题文件,请使用 get_template_part()

    以下是WordPress模板标记的示例,以将特定的模板包含在您的页面中:

    <?php get_sidebar(); ?>
    
    <?php get_template_part( 'featured-content' ); ?>
    
    <?php get_footer(); ?>
  • WordPress去掉URL中的Category

    在WordPress网站中,默认的分类URL结构通常是www.example.com/category/category-name/,这对于SEO和用户体验来说并不是最理想的。如果你希望去掉category这一部分,可以通过插件或者修改代码来实现。本文将介绍一种通过插件实现的简便方法:使用 No Category Base (WPML) 插件。

    为什么要去掉category

    1. 简洁的URL结构:简短的URL更容易被记住,也更具吸引力。
    2. SEO优化:更简洁的URL结构可能对搜索引擎友好,因为它减少了冗余信息,并且能让你的分类页面更集中地传达关键词。
    3. 提高用户体验:清晰、简短的URL可以提升用户的点击意愿,降低跳出率。

    步骤1:安装和激活No Category Base插件

    1. 登录到你的WordPress后台。
    2. 在左侧菜单栏中,选择插件 > 安装插件
    3. 在搜索框中输入“No Category Base (WPML)”。
    4. 在搜索结果中找到该插件,并点击安装按钮。
    5. 安装完成后,点击启用

    步骤2:配置插件

    激活插件后,插件会自动开始工作,并移除WordPress默认分类URL中的category部分。你不需要额外配置其他选项,插件会自动生效。

    步骤3:检查分类链接

    1. 打开网站,找到一个分类页面,例如www.example.com/category/technology/
    2. 访问该页面时,URL应自动更新为www.example.com/technology/,其中category部分已经被去掉。

    注意事项

    • 与其他插件兼容性:虽然No Category Base插件非常受欢迎,但有些其他插件可能与其存在冲突。如果你遇到问题,可以尝试禁用其他插件并逐一排查。
    • URL重定向:如果你的站点之前已经有了category部分的URL,并且这些链接已经被搜索引擎索引,确保设置适当的301重定向,以免影响SEO。
    • 其他方法:除了插件方法,你还可以通过修改.htaccess文件或使用自定义的函数来实现这一功能,但这些方法相对较为复杂。

    结论

    通过使用No Category Base (WPML)插件,你可以轻松去掉WordPress中分类URL的category部分。这个方法既简单又有效,可以帮助你优化网站的结构,提升SEO和用户体验。对于那些希望自定义URL结构而又不想深入代码的用户来说,这是一个非常实用的解决方案。