メモ > 技術 > CMS: WordPress > 導入
導入
■ダウンロード
公式サイトからダウンロードできる。
https://ja.wordpress.org/
旧バージョンは以下からダウンロードできる。
https://ja.wordpress.org/releases/
■必要環境
「PHP バージョン7.3以上、MySQL バージョン5.6または MariaDB バージョン10.0以上のサーバーを推奨しています。」となっている。
現状はPHP5.6以上だと動作するみたい。
php-xml が無いと所々機能せずにハマるので、はじめからインストールしておくことを推奨。
日本語 - ダウンロード - WordPress
https://ja.wordpress.org/download/
WordPressを動かすのに必要なPHPと関連モジュールのインストール | Hodalog
https://hodalog.com/how-to-install-php/
■マニュアル
WordPressの使い方 - インストールから基本的な使い方まで
https://www.adminweb.jp/wordpress/
WordPress Codex 日本語版
http://wpdocs.osdn.jp/Main_Page
以下にスクリーンショットがあるので活用できそう。
その他、設置する際やマニュアルを作る際に、参考になりそうな資料がたくさんある。
WordPress スクリーンショット集 - WordPress Codex 日本語版
http://wpdocs.osdn.jp/WordPress_%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%8...
■インストール
WordPress(ワードプレス)をインストールする方法【初心者向け】 | TechAcademyマガジン
https://techacademy.jp/magazine/1354
WordPress(ワードプレス)の使い方 / ホームページ・ブログ作成 / マニュアル - レンタルサーバーならロリポップ!
https://lolipop.jp/manual/hp/wordpress-lecture/
WordPress(ワードプレス)とテーマ・プラグインの更新 / ホームページ・ブログ作成 / マニュアル - レンタルサーバーならロリポップ!
https://lolipop.jp/manual/blog/wordpress-update/
※「検索エンジンにインデックスさせるか否か」の設定はインストール時にも表示されるが、
「インデックスさせる設定にしてBasic認証をかけておく」とする方が無難。
(Basic認証の外し忘れはまず無いが、インデックスの設定変更のし忘れは十分に起こりうるため。)
■マルチバイト対応プラグインをインストール
WordPressをインストールしたら、とりあえず以下のプラグインを入れておくといい。
WP Multibyte Patch - EastCoder;
https://eastcoder.com/code/wp-multibyte-patch/
■ローカル開発環境
XAMPP・Vagrant・Dockerなど、自分に合ったものを使えばいい。
それらで敷居が高いを思うようなら、Localというアプリを使う手があるみたい。(未検証。)
【超簡単】Local by Flywheelを使ってWordPressのローカル環境を構築する | 【運用・改善が得意な仙台のホームページ制作会社】AndHA(アンドエイチエー)
https://and-ha.com/coding/local-wordpress/
10分で完了!WordPressのローカル環境構築なら「Local」 | wp.geek
https://wpmake.jp/contents/knowledge/construct/about_local/
■バージョン5
2018年12月7日にVer5が公開された。
新エディタとしてGutenberg(グーテンベルク / 活版印刷技術の発明者「ヨハネス・グーテンベルク」にちなんだ名前)が採用されたことが大きな変更点とされる。
実際に少し触ってみたところ、WordPress5になってもインストール手順は特に変わらず。
Ver4のときに作った「Simple」テーマも、特に問題なく使用できた。Ver5付属のテーマと比べても、特に問題なく使えそう。
管理画面の雰囲気なども大差ないが、細かい部分で改良されているみたい。
投稿画面の仕組みは大きく変更されているので慣れは必要そう。
WordPress 5.0の新機能について(Gutenbergが登場)
https://kinsta.com/jp/blog/wordpress-5-0/
WordPress 5.0のGutenberg(グーテンベルグ)についてよくある質問集 | コリス
https://coliss.com/articles/blog/wordpress/wordpress-5-gutenberg-faq.html
衝撃に備えろ!WordPress 5.0では新エディタ「Gutenberg」が採用され旧エディタは廃止!? | 陸マイラーとーみねのほったらかし投資録
https://tomine-blog.net/wordpress/wordpress-5-0-gutenberg
ワードプレス 5.0の新機能〜使いにくい場合の対処法は?〜 - WordPress超初心者講座
https://wp-exp.com/blog/wordpress-5-0/
Classic Editor プラグインをインストールして有効化すれば、Gutenbergではない以前のエディタが表示される。
エディタだけではなく、入力画面全体がVer4のときのような表示になる。
Classic Editor の評価は非常に高い。
Classic Editor - WordPress プラグイン | WordPress.org
https://ja.wordpress.org/plugins/classic-editor/
以下に単体でのGutenbergがある。Gutenbergの評価は非常に低い。
Gutenberg - WordPress プラグイン | WordPress.org
https://ja.wordpress.org/plugins/gutenberg/
Classic Editor を入れなくても、function.php に以下を追加するだけでもGutenbergを無効にできるかも。(要検証。)
add_filter( 'use_block_editor_for_post', '__return_false' );
■ブロックテーマ
※未検証。
テーマの仕組みが大きく変わるらしい。
WordPressの今までの解説書は全部過去のものに、制作の仕様が大きく変わったブロックテーマの使い方がよく分かる解説書 -作って学ぶWordPressブロックテーマ | コリス
https://coliss.com/articles/book-review/isbn-9784839981877.html
WordPressのブロックテーマとは?おすすめのブロックテーマ7選|Webgaku(ウェブガク)
https://webgaku.net/jp/wordpress/block-theme/
フルサイト編集に対応したブロックテーマを作ってみる | オレインデザイン
https://olein-design.com/blog/tried-to-create-block-theme
■バージョン確認
管理画面のダッシュボードで確認する。
コードレベルで確認する場合、wp-includes/version.php で確認できる。
今使っているWordPressのバージョンを調べる方法 - キーワードノート
https://kw-note.com/cms/get-wordpress-version/
■バージョンアップ
管理画面の「更新」メニューからバージョンアップできる。
FTP情報を求められる場合、以下を参考にする。
wp-config.php に以下を追記する…が手軽で影響も少なくて良さそう。
/**
* WordPressの更新にFTP情報を要求しない
*/
define('FS_METHOD', 'direct');
WordPress更新時にFTP情報入力画面が表示される場合の対処方法3つ | sand a lot Web & Music Create [札幌]
https://www.sandalot.com/wordpress%E6%9B%B4%E6%96%B0%E3%81%A7ftp%E5%85%A5%E5%8A%9B%E7%94%BB%E9%9D%A2...
Wordpressの更新で、FTP経由のアップデートを回避する方法 - Qiita
https://qiita.com/pugiemonn/items/c3f9bca255082a085b6c
「FTP情報が必要」WordPressのプラグイン・本体の更新ができない | ホームページ制作 京都 ファンフェアファンファーレ
http://funfairfanfare.com/ftp-wordpress-%E6%9B%B4%E6%96%B0%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84/
【Wordpress】更新できない時はSSH SFTP Updater SupportでSFTP化しよう - マカラボ - Macalab -
https://macalab.net/wordpress/ssh-sftp-updater-support/
自動でのアップデートを停止させる場合、以下を参考にする。
WordPressの自動更新(アップデート)を停止する | PLUGMIZE(プラグマイズ)
https://plugmize.jp/archives/blog/20160707_update.html
■バージョンアップ(実際に行ったときのメモ)
ダッシュボードに「WordPress 6.3 が利用可能です ! 今すぐ更新してください。」と表示されたら、WordPressのバージョンアップができる。
クリックすると「WordPress の更新」画面に遷移し、以下のようなメッセージが表示される。
WordPress の新しいバージョンがあります。
重要: 更新する前に、データベースとファイルをバックアップしてください。更新のヘルプが必要な場合は、WordPressの更新のドキュメントページにアクセスしてください。
WordPress 6.0.1から WordPress 6.3-jaに手動更新できます:
[バージョン 6.3-ja に更新] [この変更を非表示にする]
WordPress 6.0.1から WordPress 6.3-en_USに手動更新できます:
[バージョン 6.3-en_US に更新]
更新されている間、サイトはメンテナンスモードになります。更新が完了したら、このモードはすぐに解除されます。
「バージョン 6.3-ja に更新」ボタンをクリック。
完了したら以下の画面が表示された。(恐らく、データベースの更新が必要な場合にのみ表示される。)
データベースの更新が必要です
WordPress が更新されました。次に最後のステップとして、データベースを最新バージョンに更新する必要があります。
データベースの更新処理には少し時間がかかるかもしれません。しばらくお待ちください。
[WordPress データベースを更新]
データベースをバックアップしてから「WordPress データベースを更新」をクリックすると、すぐに完了した。
■gitでの管理
WordPressをGitで管理 - Qiita
https://qiita.com/refirio/items/942fad324d320577e2c0
■設置し直す場合
稼働しているWordPressから、以下をバックアップしておく。(その他、必要なファイルがあれば合わせてバックアップする。)
.htaccess
wp-config.php
WordPressのファイルをアップロードし直し、バックアップした上記ファイルを追加アップロードする。
以降は通常通り操作できる。
■サブディレクトリに設置してルートディレクトリでアクセスする
例えば /wp/ ディレクトリ内にWordPressを設置した場合、アクセスするURLは http://example.com/wp/ のようになる。
/wp/ ディレクトリ内に置いたまま http://example.com/ でアクセスしたい場合、通常の手順でWordPress設置後に以下の設定を行う。
管理画面の「設定 → 一般」
「サイトアドレス (URL)」から末尾の「/wp」を削除する。(「WordPress アドレス (URL)」はそのままにする。)
/wp/index.php を /index.php に複製する。(移動ではなく複製する。)
複製された /index.php を開き。
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
この部分を以下のように変更する。
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
この時点で /index.php からアクセスできるが、
この時点ではカスタム投稿タイプのページや下層ページがエラーになることがあるみたい。
管理画面の「設定 → パーマリンク設定」
何も変更せずに「変更を保存」を押す。これにより設定が更新される。
※/.htaccess は自動で作成されたが、環境によっては作成されないかも。
その場合、/wp/.htaccess を複製して /.htaccess を作成し、ファイル内のパスを調整する。
これで http://example.com/wp/ に設置したWordPressに対して http://example.com/ でアクセスできる。
管理画面のURLは http://example.com/wp/wp-login.php になる。
※本文内で直接URLを書いて下層ページにリンクしている箇所があれば、その部分は手動での調整が必要。
ただしsearchreplacedb2などで一括置換すると、メディアのURLも置換してしまうと思われるので注意。
記事数によっては地道に手動で置換するほうが安全か。(要検証。)
WordPress を専用ディレクトリに配置する - WordPress Codex 日本語版
https://wpdocs.osdn.jp/WordPress_%E3%82%92%E5%B0%82%E7%94%A8%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%...
WordPressをドメイン直下のルートディレクトリへ移動する方法! | Cloud 9 Works
https://www.cloud9works.net/web/how-to-change-wordpress-directory/
サブディレクトリ(/wp/)にインストールしたwordpressをドメイン直下に表示する方法【ルートディレクトリを変更】 | かわたま.net
http://kawatama.net/web/974
「原則として /wp/ ディレクトリ内のみで構築し、本番公開時に /wp/index.php を /index.php に移す」
「プログラム自体は /wp/ に置いたままにしておく」
とすると
「トップに現行サイトがあっても構築を進められる」
「WordPressと色々なプログラムを併用する場合、ディレクトリが明確に分かれて管理しやすい」
となっていいかも。強引な手法ではなく公式に紹介されている手順なので、安心感もある。
(index.php など一部を除いてプレフィックス wp- が付いているので、デフォルトのままでも混乱は無さそうだが。)
■データの移行
※以下の手順はPHP5時代に searchreplacedb2 を試したもの。
searchreplacedb2 はPHP7環境では動作しない。
新しいバージョンはあるようだが未検証。
searchreplacedb2 を使って、データベース内のURLを置換できる。
直接書き換えるのは、データが壊れる可能性があるため非推奨。
【決定版】WordPressの引っ越し!サーバー移行・移転手順 | FASTCODING BLOG
https://fastcoding.jp/blog/all/system/moving-wordpress/
WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう | infoScoop開発者ブログ
https://www.infoscoop.org/blogjp/2014/08/14/use-search-and-replace-for-wordpress-when-moving/
URLは例えば以下のように指定して置換する
http://refirio.example.com → https://refirio.net
WordPressでは一部のデータをシリアライズして保持しているが、シリアライズされたデータは以下のようになる。
「13」という数値は「administrator」の文字数。このように文字の長さを保持している箇所がある。
不用意にURLを書き換えるとデータの長さが変わり、正しく参照できなくなる可能性がある。
a:1:{s:13:"administrator";b:1;}
■RSSの配信
例えば http://example.com/ にWordPressを設置した場合、
http://example.com/feed/ にアクセスするとRSSを取得できる。
(WordPressの設定によっては http://example.com/?feed=rss2 でアクセスする。)
また、カテゴリのスラッグなどから絞り込んで取得することもできる。
以下、スラッグ「pickup」と「column」を取得する例。
http://example.com/category/pickup/feed/
http://example.com/category/column/feed/
WordPressのカテゴリー別RSS Feedは簡単だった
http://blog.eb-de.com/2010/09/19/wp-category-rss/
■続きを読む
標準機能で「続きを読む」を表示する機能がある。
テーマ内では、以下の命令を使えばそれぞれの内容を取得できる。
// 記事の全文を取得
the_content();
// 記事の後半のみを取得
the_content('', true);
// 記事の前半のみを取得
global $more; // グローバル変数 $more を宣言(ループの前に)
$more = 0; // more タグまでのみを表示するようにセット(ループの中で)
the_content('');
「続きを読む」を使ってトップページに記事が表示された時に本文の一部だけを表示する - WordPressの使い方
https://www.adminweb.jp/wordpress/editor/index5.html
テンプレートタグ/the content - WordPress Codex 日本語版
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_...
「続きを読む」のカスタマイズ - WordPress Codex 日本語版
https://wpdocs.osdn.jp/%E3%80%8C%E7%B6%9A%E3%81%8D%E3%82%92%E8%AA%AD%E3%82%80%E3%80%8D%E3%81%AE%E3%8...
■ピックアップ記事
専用のプラグインを使わなくても、以下の方法で何とかなりそう。
【WordPress】5分でブログのホームにピックアップ記事を表示させる方法 | たむらんち
http://www.tamura.tottori.jp/2015/10/02/wordpress-easy-pickup-post/
■その他メモ
【コピペで使える】WordPressチートシート 2020 - More Web
https://more-field.co.jp/web/wordpress-cheatsheet/
Webクリエイターボックス | WebデザインやWebサイト制作、最新のWeb業界情報などを紹介していくサイト。
https://www.webcreatorbox.com/
ねんでぶろぐ
https://nendeb.com/