Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

wordpress-content

WordPress サイトに対してブログ投稿の公開・ページの更新・メディアのアップロード・カテゴリやタグの管理・ナビゲーションメニューの編集・投稿の予約投稿・一括コンテンツ操作などを、WP-CLI または REST API を通じて実行します。ユーザーが WordPress 上のコンテンツを作成・管理したい場面で幅広く活用できます。

description の原文を見る

Create and manage WordPress posts, pages, media, categories, tags, and menus via WP-CLI or the REST API. Use whenever the user wants to publish a blog post on WordPress, update a page, upload media, manage categories or tags, update navigation menus, schedule posts, or do bulk content operations on a WordPress site.

SKILL.md 本文

WordPress コンテンツ

WordPress コンテンツを作成・更新・管理します — 投稿、ページ、メディア、カテゴリー、タグ、メニューを対象とします。WP-CLI または REST API 経由でサイト上にライブコンテンツを生成します。

前提条件

  • 動作する WP-CLI SSH 接続または REST API 認証情報 (wordpress-setup スキルを使用)
  • wordpress.config.json または wp-cli.yml からのサイト設定

ワークフロー

ステップ 1: 操作を決定する

タスクベストな方法
単一の投稿またはページを作成/編集WP-CLI wp post create/update
大量の投稿を作成WP-CLI ループまたは REST API バッチ
画像/メディアをアップロードWP-CLI wp media import
カテゴリー/タグを管理WP-CLI wp term
ナビゲーション メニューを更新WP-CLI wp menu
スケジュール投稿WP-CLI と --post_date を使用
複雑な HTML コンテンツ一時ファイルに書き込み、WP-CLI に渡す
SSH アクセスが利用不可Application Password による REST API

ステップ 2: コンテンツを作成する

ブログ投稿

# シンプルな投稿
wp @site post create \
  --post_type=post \
  --post_title="My New Blog Post" \
  --post_content="<p>Post content here.</p>" \
  --post_status=draft \
  --post_category=3,5

# HTML ファイルからの投稿(長いコンテンツに最適)
wp @site post create ./post-content.html \
  --post_type=post \
  --post_title="My New Blog Post" \
  --post_status=draft \
  --post_excerpt="A brief summary of the post." \
  --post_category=3,5 \
  --tags_input="tag1,tag2"

投稿ステータス: draft, publish, pending, future (--post_date と共に使用)

ページ

wp @site post create \
  --post_type=page \
  --post_title="About Us" \
  --post_content="<h2>Our Story</h2><p>Content here...</p>" \
  --post_status=publish \
  --post_parent=0 \
  --menu_order=10

スケジュール投稿

wp @site post create \
  --post_type=post \
  --post_title="Scheduled Post" \
  --post_content="<p>This goes live tomorrow.</p>" \
  --post_status=future \
  --post_date="2026-02-23 09:00:00"

ステップ 3: メディアをアップロードする

# URL からアップロード
wp @site media import "https://example.com/image.jpg" \
  --title="Product Photo" \
  --alt="Product front view" \
  --caption="Our latest product"

# ローカル ファイルからアップロード(リモートサイトは SCP が必要)
scp ./image.jpg user@host:/tmp/image.jpg
wp @site media import /tmp/image.jpg --title="Local Upload"

# インポートと一度に設定画像として設定
wp @site media import "https://example.com/hero.jpg" \
  --title="Hero" --featured_image --post_id={id}

# メディアを一覧表示
wp @site post list --post_type=attachment --fields=ID,post_title,guid

# サムネイルを再生成
wp @site media regenerate --yes

投稿に設定画像を設定:

# インポート出力から添付ファイル ID を取得し、その後:
wp @site post meta update {post_id} _thumbnail_id {attachment_id}

ステップ 4: 分類法を管理する

カテゴリー

# カテゴリーを一覧表示
wp @site term list category --fields=term_id,name,slug,count

# カテゴリーを作成
wp @site term create category "News" --slug=news --description="Company news and updates"

# 子カテゴリーを作成
wp @site term create category "Product News" --slug=product-news --parent=5

# カテゴリーを更新
wp @site term update category {term_id} --name="Updated Name"

# 投稿にカテゴリーを割り当て
wp @site post term add {post_id} category news

タグ

# タグを一覧表示
wp @site term list post_tag --fields=term_id,name,slug,count

# タグを作成
wp @site term create post_tag "new-tag"

# 投稿作成中にタグを追加
wp @site post create --post_title="..." --tags_input="seo,marketing,tips"

# 既存の投稿にタグを追加
wp @site post term add {post_id} post_tag seo marketing tips

ステップ 5: メニューを管理する

# メニューを一覧表示
wp @site menu list --fields=term_id,name,slug,count

# メニュー内のアイテムを一覧表示
wp @site menu item list main-menu --fields=db_id,type,title,link,position

# ページをメニューに追加
wp @site menu item add-post main-menu {page_id} --title="About Us"

# カスタム リンクを追加
wp @site menu item add-custom main-menu "Contact" "https://example.com/contact/"

# カテゴリー アーカイブをメニューに追加
wp @site menu item add-term main-menu category {term_id}

# 並べ替え(位置を設定)
wp @site menu item update {item_id} --position=3

# メニュー アイテムを削除
wp @site menu item delete {item_id}

ステップ 6: 既存コンテンツを更新する

# 投稿タイトルとコンテンツを更新
wp @site post update {post_id} \
  --post_title="Updated Title" \
  --post_content="<p>New content.</p>"

# ファイルから更新
wp @site post update {post_id} ./updated-content.html

# 投稿を検索
wp @site post list --s="search term" --fields=ID,post_title

# ステータスを一括更新
wp @site post list --post_type=post --post_status=draft --field=ID | \
  xargs -I {} wp @site post update {} --post_status=publish

# 削除(ゴミ箱へ)
wp @site post delete {post_id}

# 完全に削除
wp @site post delete {post_id} --force

ステップ 7: 投稿メタおよびカスタム フィールド

# 投稿のすべてのメタを取得
wp @site post meta list {post_id} --fields=meta_key,meta_value

# 特定のメタを取得
wp @site post meta get {post_id} meta_key

# メタを設定
wp @site post meta update {post_id} meta_key "meta_value"

# メタを追加(重複を許可)
wp @site post meta add {post_id} meta_key "meta_value"

# メタを削除
wp @site post meta delete {post_id} meta_key

ACF はフィールド値と参照キー(_field_name -> field_abc123)の両方でフィールドを保存します。

ステップ 8: 検索と置換

# ドライ ラン を実行(常に実行)
wp @site search-replace "old text" "new text" --dry-run

# 実行
wp @site search-replace "old text" "new text" --precise

# 特定のテーブルに制限
wp @site search-replace "old" "new" wp_posts --precise

# 特定の列に制限
wp @site search-replace "old" "new" wp_posts post_content --precise

ステップ 9: エクスポートとインポート

# すべてのコンテンツをエクスポート
wp @site export --dir=/tmp/

# 特定の投稿タイプをエクスポート
wp @site export --post_type=post --dir=/tmp/

# インポート
wp @site import /path/to/file.xml --authors=mapping.csv

ステップ 10: 確認

# 投稿を確認
wp @site post get {post_id} --fields=ID,post_title,post_status,guid

# ライブ URL を取得
wp @site post get {post_id} --field=guid

# 最近の投稿を一覧表示
wp @site post list --post_type=post --posts_per_page=5 --fields=ID,post_title,post_status,post_date

管理 URL とライブ URL を提供します:

  • 管理: https://example.com/wp-admin/post.php?post={id}&action=edit
  • ライブ: https://example.com/{slug}/

REST API リファレンス

WP-CLI が利用できない場合は、Application Password 認証を使用して WordPress REST API を使用します。

認証

# 認証情報を Base64 エンコード
AUTH=$(echo -n "username:xxxx xxxx xxxx xxxx xxxx xxxx" | base64)

# リクエストで使用
curl -s https://example.com/wp-json/wp/v2/posts \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json"

エンドポイント

リソースエンドポイント
投稿/wp-json/wp/v2/posts
ページ/wp-json/wp/v2/pages
メディア/wp-json/wp/v2/media
カテゴリー/wp-json/wp/v2/categories
タグ/wp-json/wp/v2/tags

すべて GET(一覧/単一)、POST(作成)、PUT(更新)、DELETE をサポートします。

REST 経由で投稿を作成

curl -s https://example.com/wp-json/wp/v2/posts \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My New Post",
    "content": "<p>Post content here.</p>",
    "status": "draft",
    "categories": [3, 5],
    "tags": [10, 12],
    "excerpt": "Brief summary",
    "featured_media": 456
  }' | jq '{id, link, status}'

REST 経由でページを作成

curl -s https://example.com/wp-json/wp/v2/pages \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "About Us",
    "content": "<h2>Our Story</h2><p>Content...</p>",
    "status": "publish",
    "parent": 0
  }'

REST 経由でメディアをアップロード

curl -s https://example.com/wp-json/wp/v2/media \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Disposition: attachment; filename=photo.jpg" \
  -H "Content-Type: image/jpeg" \
  --data-binary @photo.jpg | jq '{id, source_url}'

REST 経由でカテゴリーを作成

curl -s https://example.com/wp-json/wp/v2/categories \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{"name": "News", "slug": "news", "description": "Company updates"}'

クエリ パラメーター

パラメーター目的
per_pageページあたりの結果数(最大 100)?per_page=50
pageページネーション?page=2
search検索用語?search=keyword
statusステータスでフィルター?status=draft
categoriesカテゴリー ID でフィルター?categories=3
orderbyソート フィールド?orderby=date
orderソート方向?order=desc
_fieldsレスポンス フィールドを制限?_fields=id,title,link

メニュー: ナビゲーション メニューには REST API サポートが限定されます。/wp-json/wp/v2/navigation エンドポイントは FSE テーマのブロックベース ナビゲーション用に存在します。クラシック メニューでは WP-CLI を使用してください。


重要なパターン

WP-CLI での HTML コンテンツ

1 文以上の場合は、HTML を一時ファイルに書き込み、渡します:

cat > /tmp/post-content.html << 'EOF'
<h2>Section Heading</h2>
<p>Paragraph content with <strong>bold</strong> and <a href="/link">links</a>.</p>
<ul>
  <li>List item one</li>
  <li>List item two</li>
</ul>
EOF

wp @site post create /tmp/post-content.html --post_title="My Post" --post_status=draft

--post_content でのシェル クォートは複雑な HTML では不安定です。

大量操作

多くの投稿を作成する場合は、検証ありのループを使用します:

while IFS=, read -r title slug content_file category; do
  wp @site post create "$content_file" \
    --post_type=post \
    --post_title="$title" \
    --post_name="$slug" \
    --post_category="$category" \
    --post_status=draft
  sleep 0.5
done < posts.csv

常に draft として作成し、レビュー後、大量公開してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
jezweb
リポジトリ
jezweb/claude-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/jezweb/claude-skills / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: jezweb · jezweb/claude-skills · ライセンス: MIT