标签 WordPress 下的文章

前言

个人所理解,如有错误请指正

首先需要明白一件事情,创建 .opt 文件前,首先在你的插件注释里添加以下关键注释(Text DomainDomain Path 字段):

  • Text Domain:文本域(个人理解),这个比较关键
  • Domain Path:翻译文件存放的路径
/**
 * Plugin Name: 插件的名字
 * Plugin URI: https://nowtime.cc/
 * Description: 插件简介
 * Version: 0.0.1
 * Author: Chuwen
 * Author URI: https://nowtime.cc
 * Text Domain: chuwen
 * Domain Path: /i18n/languages/
 * Requires at least: 5.5
 * Requires PHP: 7.0
 *
 * @package Chuwen
 * @date    2021/7/20 14:50
 */

以上工作完成后,就可以接着往下看了

安装 wp 命令

WP-CLI 是一款用于管理 WordPress 的命令行交互界面,无需浏览器即可完成插件更新,多站点设置等许多操作。

官网地址:https://wp-cli.org/zh-cn/
[官方]安装文档:https://wp-cli.org/zh-cn/#安装

本文主要介绍 macOS 以及 Linux 系统安装

Linux 安装教程

cd ~
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

# 检查 Phar 文件确保其正常运行:
php wp-cli.phar --info

# 要使用 wp 执行 WP-CLI 命令,必须有执行权限并且 PATH 已在环境变量中注册,例如:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# 最后再次验证
wp --info

macOS 可以借助 Homebrew 进行安装

Homebrew 官方安装文档:https://docs.brew.sh/Installation
其安装教程可参照:https://zhuanlan.zhihu.com/p/111014448

Homebrew 安装完成后,执行 brew install wp-cli 即可

Windows 安装教程

自行网上搜索,因为某些功能在 Windows 中将受到限制,所以我推荐在 Windows 10 以及以上的系统,安装 WSL(Windows 子系统),然后参照 Linux 系统安装 wp 命令即可

验证安装 wp 命令

输入 wp --info 即可验证

输入 wp --info 验证安装结果

chuwen@MiBook# wp --info
OS:    Darwin 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64
Shell:    /bin/zsh
PHP binary:    /usr/local/Cellar/php@7.3/7.3.28/bin/php
PHP version:    7.3.28
php.ini used:    /usr/local/etc/php/7.3/php.ini
MySQL binary:    
MySQL version:    
SQL modes:    
WP-CLI root dir:    phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:    phar://wp-cli.phar/vendor
WP_CLI phar path:    /Users/chuwen
WP-CLI packages dir:    
WP-CLI global config:    
WP-CLI project config:    
WP-CLI version:    2.5.0

生成 .pot 文件

  • 假设你的 WordPress 根目录是:/www/wwwroot/wordpress.com
  • 假设你的 WordPress 插件目录:/www/wwwroot/wordpress.com/wp-content/plugins/chuwen

首先进入的你的插件目录

cd /www/wwwroot/wordpress.com/wp-content/plugins/chuwen

然后生成 .opt 文件

# 如果你是按照最开头的做法做的,那么会自动将生成的 `.opt` 文件放到 `Domain Path` 文件夹下
wp i18n make-pot .

# 如果你想指定文件存放路径、文件名
wp i18n make-pot . i18n/languages/chuwen.pot

最后生成结果查看你插件目录下的 i18n/languages/ 里面的文件即可

生成多语言

将生成的比如 chuwen.pot 复制一份,将其命名为 en_US.pot,然后使用工具进行翻译即可

具体原因

  1. CloudFlare 那边 SSL 配置的是“灵活”
    CloudFlare 那边 SSL 配置的是“灵活”

  2. WordPress 后台配置的又是 https
    WordPress 后台配置的又是 https

最终就会导致浏览器一直报“重定向次数过多”,或者 WordPress 直接报 Sorry, you are not allowed to access this page.

CloudFlare SSL 配置“灵活”,指的是 源站(也就是你的 WordPress)博客不支持 https,然后 CloudFlare 可以实现:
浏览器 —https—> CloudFlare —http—> 你的服务器(WordPress)

但是,你在 WordPress 后台配置的了你的 WordPress 地址是 https 地址开头的,所以当 CloudFlare 访问你的 WordPress 时,你的 WordPress 告诉 CloudFlare 你只能通过 https 访问,CloudFlare 又告诉你的浏览器你只能访问 https
这样就造成了循环….

解决办法

将 CloudFlare 的 SSL 配置改为“完全”或“完全(严格)”,推荐选择完全具体看:

前言

我专门搭建了属于 私人的博客,不想给没有拥有该站账号的人访问(或许到了某一天我会悄悄地开放)

开始

打开 /wp-blog-header.php 文件,在 require_once __DIR__ . '/wp-load.php'; 这一行后面加入以下代码:

<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */

if ( ! isset( $wp_did_header ) ) {

    $wp_did_header = true;

    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';

        //加入这段代码即可
        //is_user_logged_in() 函数事判断用户是否登录
        //如果登陆了就返回 true,未登录返回 false
    if(!is_user_logged_in()){
        die("<h1>很抱歉,这是我的私人站点,我不想给任何人查看本站的内容!除非你拥有本站账号</h1>如果你要登录请点击:<a href='/wp-admin'>登录</a>");
    }

    // Set up the WordPress query.
    wp();

    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';

}

效果

未登录显示的页面:
未登录显示的页面

登录了显示的页面:
登录了显示的页面

有人说,我的博客域名 blog.ogdn.net 有什么寓意,感觉不太好记,好吧 ogdn.net 这域名是在去年九月份在阿里云域名交易市场买的,当时觉得挺短的(4位),而且价格才几块钱,所以当时就买了,到期时间是十月下旬;所以这次换成有些寓意的域名 NowTime.cc 是不是更好记了些,Now 的意思是现在,Time的意思是时间,现在网主要取前面那个单词(Now)的意思,就是这样:)

博客程序换成 Typecho,因为我觉得她轻,才500多k,麻雀虽小,五脏俱全,还有WordPress转Typecho工具,所以博客内容,分类等等都完好无损的转移过来了。

弃坑 Emlog,转 WordPress

Emlog 博客程序,在中国算是比较早出的博客(日志)程序吧(在我所知的范围内);

Emlog博客简介:

Emlog 是 Every Memory Log 的简称,意即:点滴记忆。是一款基于PHP和MySQL的功能强大的博客及CMS建站系统。致力于为您提供快速、稳定,且在使用上又极其简单、舒适的内容创作及站点搭建服务。

- 阅读剩余部分 -