工具使用

WordPress Publisher 使用教程 – 从零开始发布你的第一篇文章

2026年7月17日 davisfan 3 min read

WordPress Publisher 使用教程

欢迎使用 WordPress Publisher!这是一个强大的 Codex Skill,可以帮助你轻松地将 Markdown 文章发布到 WordPress 站点。

🎯 功能特性

WordPress Publisher 提供以下核心功能:

  • ✅ YAML Frontmatter 解析 – 自动提取标题、描述、分类等元数据
  • ✅ 自动图片上传 – 检测并上传本地图片到 WordPress 媒体库
  • ✅ 代码高亮 – 使用 Highlight.js 提供专业的代码展示
  • ✅ 代码复制按钮 – 一键复制代码块内容
  • ✅ 分类管理 – 自动创建不存在的分类
  • ✅ SEO 集成 – 支持 Rank Math SEO 插件
  • ✅ 发布历史 – 记录已发布的文章信息

📋 前置要求

在使用之前,请确保已安装以下依赖:

pip install pyyaml markdown requests python-dotenv

🔧 配置设置

方法一:使用 .env 文件(推荐)

创建 .env 文件,内容如下:

# WordPress 站点配置
WP_URL=https://your-site.com
WP_USERNAME=your_username
WP_APP_PASSWORD=your_app_password

# 默认文章状态
WP_DEFAULT_STATUS=publish

方法二:使用环境变量

# Windows PowerShell
$env:WP_APP_PASSWORD = "your_password"

# Linux/Mac
export WP_APP_PASSWORD="your_password"

获取 WordPress 应用密码

  1. 登录 WordPress 后台
  2. 进入 用户 → 个人资料
  3. 滚动到 应用程序密码 部分
  4. 输入名称(如:codex-publisher)
  5. 点击 添加新的应用程序密码
  6. 复制生成的密码

📝 Markdown 文件格式

基本结构

---
title: 文章标题
description: SEO 描述
categories:
  - 分类1
  - 分类2
tags:
  - 标签1
  - 标签2
---

# 文章正文

这里是文章内容...

Frontmatter 字段说明

字段 类型 必填 说明
title string 是 文章标题
description string 否 SEO 描述
categories array 否 分类列表
tags array 否 标签列表
status string 否 文章状态(draft/pending/publish)
slug string 否 URL 别名

🚀 使用方法

基本用法

# 发布新文章
python push_to_wp.py article.md

# 预览模式(不实际发布)
python push_to_wp.py article.md --dry-run

# 更新现有文章
python push_to_wp.py article.md --id 142

# 保存为草稿
python push_to_wp.py article.md --status draft

在 Codex 中使用

直接告诉 Codex 你想发布文章:

帮我发布这篇文章到WordPress:path/to/article.md

或者使用触发词:

publish to wordpress: path/to/article.md

💻 代码示例

Python 示例

#!/usr/bin/env python3
"""简单的 HTTP 服务器示例"""

from http.server import HTTPServer, SimpleHTTPRequestHandler

def run_server(port=8000):
    server_address = ('', port)
    httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)
    print(f"服务器运行在 http://localhost:{port}")
    httpd.serve_forever()

if __name__ == "__main__":
    run_server()

JavaScript 示例

// 异步获取数据
async function fetchData(url) {
    try {
        const response = await fetch(url);
        const data = await response.json();
        console.log('数据:', data);
        return data;
    } catch (error) {
        console.error('错误:', error);
    }
}

// 使用示例
fetchData('https://api.example.com/data');

Bash 示例

#!/bin/bash

# 批量重命名文件
for file in *.txt; do
    mv "$file" "${file%.txt}.md"
    echo "已重命名: $file -> ${file%.txt}.md"
done

echo "完成!"

📊 功能对比

功能 手动发布 WordPress Publisher
Markdown 转 HTML ❌ 手动 ✅ 自动
图片上传 ❌ 手动 ✅ 自动
代码高亮 ❌ 需插件 ✅ 内置
分类管理 ❌ 手动 ✅ 自动创建
SEO 设置 ❌ 手动 ✅ 自动
批量发布 ❌ 困难 ✅ 支持

🔍 常见问题

Q: 如何处理大型图片?

A: 脚本会自动检查图片大小,默认限制为 10MB。可以通过环境变量调整:

WP_MAX_IMAGE_SIZE=20971520  # 20MB

Q: 如何禁用代码高亮?

A: 使用 --no-highlight 参数:

python push_to_wp.py article.md --no-highlight

Q: 支持哪些 Markdown 扩展?

A: 默认支持:
– Fenced Code Blocks(代码块)
– Tables(表格)
– Codehilite(代码高亮)

Q: 如何查看发布历史?

A: 发布历史保存在 ~/.wp_publish_history.json 文件中。

📈 最佳实践

  1. 使用 Frontmatter – 始终添加 YAML frontmatter 以获得最佳效果
  2. 优化图片 – 发布前压缩图片以加快加载速度
  3. 使用预览模式 – 首次使用时先用 --dry-run 检查
  4. 定期备份 – 保存重要的 Markdown 源文件
  5. 分类规划 – 提前规划好分类结构

🎨 代码高亮演示

JSON 配置示例

{
  "name": "WordPress Publisher",
  "version": "1.0.0",
  "description": "Publish Markdown to WordPress",
  "features": [
    "auto-upload",
    "code-highlight",
    "category-management"
  ],
  "config": {
    "url": "https://example.com",
    "status": "publish"
  }
}

SQL 查询示例

-- 查询最近发布的文章
SELECT 
    p.ID,
    p.post_title,
    p.post_date,
    t.name AS category
FROM wp_posts p
LEFT JOIN wp_term_relationships tr ON p.ID = tr.object_id
LEFT JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
LEFT JOIN wp_terms t ON tt.term_id = t.term_id
WHERE p.post_status = 'publish'
    AND p.post_type = 'post'
ORDER BY p.post_date DESC
LIMIT 10;

YAML 配置示例

# WordPress 部署配置
server:
  host: example.com
  port: 443
  ssl: true

wordpress:
  version: "6.4"
  plugins:
    - name: rank-math-seo
      active: true
    - name: wp-super-cache
      active: true

deployment:
  strategy: rolling
  rollback: true
  health_check: /wp-admin/admin-ajax.php

🔗 相关资源

📝 更新日志

v1.0.0 (2026-07-17)

  • ✨ 初始发布
  • ✅ 支持 YAML frontmatter 解析
  • ✅ 自动图片上传
  • ✅ 代码高亮和复制按钮
  • ✅ 分类自动创建
  • ✅ Rank Math SEO 集成

提示:本文档本身就是使用 WordPress Publisher 发布的示例!

最后更新:2026年7月17日


Leave a comment