WordPress 7.0で変わったカスタムHTMLブロックの編集が良い。HTMLとCSSとJavaScriptの編集が別れていて、カスタムしやすくてよい。
今までだと、変な動きをすることがあったので、CSSとJavascriptを別にできるのはよい。7系の他の機能は、まだ実感できていないけれど、いいんじゃないかな。
WordPress 7.0で変わったカスタムHTMLブロックの編集が良い。HTMLとCSSとJavaScriptの編集が別れていて、カスタムしやすくてよい。
今までだと、変な動きをすることがあったので、CSSとJavascriptを別にできるのはよい。7系の他の機能は、まだ実感できていないけれど、いいんじゃないかな。
Ubuntu ServerのOSを、20.04から、22.04、24.04と同じ日にアップデートを実施した。実施のときにPHPのバージョンも変わったので、いろいろと対処した。Wordpressの表示もできるようになったのだが・・・管理画面にログインしようとしたら、下記のエラーが。
エラー詳細
===============
エラータイプ E_ERROR が /var/www/html/sitename/wp-content/themes/muum_tcd085/functions/theme-setup.php ファイルの 65 行目で発生しました。 エラーメッセージ: Uncaught Error: Call to undefined function simplexml_load_string() in /var/www/html/sitename/wp-content/themes/muum_tcd085/functions/theme-setup.php:65
Stack trace:
#0 /var/www/html/sitename/wp-content/themes/muum_tcd085/functions/update_notifier.php(15): get_tcd_update_notifier_xml()
#1 /var/www/html/sitename/wp-includes/class-wp-hook.php(324): tcd_update_notifier_admin_menu()
#2 /var/www/html/sitename/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#3 /var/www/html/sitename/wp-includes/plugin.php(517): WP_Hook->do_action()
#4 /var/www/html/sitename/wp-admin/includes/menu.php(161): do_action()
#5 /var/www/html/sitename/wp-admin/menu.php(423): require_once('...')
#6 /var/www/html/sitename/wp-admin/admin.php(159): require('...')
#7 /var/www/html/sitename/wp-admin/index.php(10): require_once('...')
#8 {main}
thrown
この65行目をみると、
$xml = simplexml_load_string( $cache_data );
なので、XML関連ということがわかった。
php8.3の状況を調べてみると、「php8.3-xml」がインストールされていない。なので、
sudo apt install php8.3-xml
で、インストールを行って、再起動。これで管理画面に入れるようになった。
あと、Wordpressのサイトヘルスから足りていない推奨モジュールを表示して、aptでインストールした。
個人サイトだと気にしないのだが、コーポレートサイトとかキャンペーンサイトだと、公開したページを修正して、修正確認をしてから公開したい、ということがよくある。Wordpressの標準機能だと、一度公開してしまうと、下書きには戻せるが、公開したままの下書き保存はできない。固定ページなら、同じように作って、差し替え、も考えたがめんどくさすぎる。
不本意だが、プラグインを使って便利に解決する方法にすることにした。そのため、プラグインを調査し、用途にあったものを探した。いろいろと調べて、候補を3つに絞った。
PublishPress Revisions
https://ja.wordpress.org/plugins/revisionary/
評価もよく、更新もされている。
プラグイン名で検索すると、記事は少なめ。
公開記事に対して、更新の予約投稿ができるのがよい。
公開記事のリビジョン管理がメインなので、コーポレートサイトのようなところでWordpressを使っている場合にはよさそう。
インストール時に同じシリーズのものがたくさん出てくるので注意。
Yoast Duplicate Post
https://ja.wordpress.org/plugins/duplicate-post/
評価もよく、更新もされている。
プラグイン名で検索すると、記事もいろいろと出てくる。
記事のコピー機能としても使えるようなので、記事のコピーがメインの場合はこれでもよいかも。
WP Post Branches
https://wordpress.org/support/plugin/wp-post-branches/
評価もよく、紹介記事も多い。Wordpress、公開記事、下書き、みたいな検索ワードで調べると上位に出てくる。
ただし、更新が5年前で止まっていて、新しいバージョンのWordpressでテストされていない。
WordPressの更新で不具合が出る可能性が大きい。
惑わされないようにしないといけない。
いろいろと調べて、悩んで、公開記事の編集と事前確認がメインになるため、「PublishPress Revisions」を選択した。使い方などは、下記のサイトを参考に。
https://tcd-theme.com/2021/04/publishpress-revisions.html
個人的にはプラグインは極力いれたくない派。プラグインが増えると、Wordpressのバージョンアップで不具合になる可能性が高くなるので。それでもプラグインを入れないと実現できないことも多いので、慎重に選んで使う。
さくらインターネットのレンタルサーバに、Wordpressを入れたのだが、海外(ベトナム)から、Wordpressの管理画面にアクセスすると、Nginxが403エラーを返す。
さくらインターネットのウェブサーバは、「Apache/2.4.54」と表示されているので、なぜNginxが403エラーを返すのが不思議で、いろいろと調べた。疑ったのは、どこか別のサーバにアクセスさせられているのではないかと(DNSサーバの汚染を心配していた)。
Tracerouteや名前解決などを行っていった結果、正常にさくらインターネットのサーバにアクセスしようとしていることはわかった。管理画面は表示されなくても、通常のWordpressのコンテンツは正常に表示されていた。さくらインターネットのレンタルサーバの管理画面に、「国外IPアドレスフィルタ」の設定があり、これがデフォルトでオンになっていた。これが403エラーを返す原因だった。「国外IPアドレスフィルタ」の設定を無効にするか、許可アドレスリストに加えることで、海外からでもWordpressの管理画面にアクセスできるようになった。

IPアドレスでのアクセスフィルタリングのために、Nginxによるリバースプロキシ的なものがかまされているようだ。
WordPressでプラグインの更新中に、うっかりページ移動をしてしまった。そうしたら、メンテナンスモードのままになり、下記のメッセージが表示されるだけになった。
現在メンテナンス中のため、しばらくの間ご利用いただけません。
これの対処は、Wordpressがインストールされている(配置されている)ディレクトリにある「.maintenance」のファイルを消す。
これがあるとメンテナンスモードとして認識されてしまうので、消す必要あり。
rm .maintenance
消した後は、Wordpressにアクセスして、メンテナンスモードが解除されたことを確認する。そして管理画面にアクセスして、残っているアップデートを実施する。
例)
zen@xxxxxx:/var/www/html/blog$ ls -a
. readme.html wp-content wp-settings.php
.. wp-activate.php wp-cron.php wp-signup.php
.maintenance wp-admin wp-includes wp-trackback.php
0.txt wp-blog-header.php wp-links-opml.php xmlrpc.php
index.php wp-comments-post.php wp-load.php
inf2.php wp-config-sample.php wp-login.php
license.txt wp-config.php wp-mail.php
zen@xxxxxx:/var/www/html/blog$
zen@xxxxxx:/var/www/html/blog$
zen@xxxxxx:/var/www/html/blog$ rm .maintenance
特集の「CMS新時代2022」が気になり読んだ。世の中の課題は、似たりよったりで、それを解決する1つがヘッドレスCMSなわけか。コンテンツを管理する部分のCMSと、表示するデザインを分離させてしまえばよいというのは解決策の一つ。
それから、ノーコードWeb制作ツールものびている。ノーコードWeb制作ツールを使うことで、スピード重視で、ユーザ側で、デザイン性の高いウェブサイトが作れる。ただし、デザインのセンスは作る側に必要。ノーコードWeb制作ツールとヘッドレスCMSは競合ではなく、そもそもニーズが異なる。
以下はメモ。
ショッピングサイトを、BASEで作るか、Wordpressを使ってつくるかが語られている記事。シンプルで、要点がまとまっていて、いい内容だった。
BASEとWordPressの違い
https://mip.y-ml.com/_bcn?id=1001
BASEか、Wordpressか、で比較されているけれど、BASEではなくて、Shopifyでも基本的には同じ。Wordpressのところは、自社開発のECサイトやEC Cubeに読み替えても、結論としては同じになる。手数料を気にしないのであれば、ECショップの立ち上げは、BASEやShopifyだろう。結局、サイトのセキュリティやバージョン管理にどれだけ手間をかけられるのか、立ち上げ速度は同じにできるのか、などを考えるとSaaSであるBASEやShopifyの方が有利だから。
だけど、ショップサイトが主体ではなくて、製品紹介やコンセプト紹介がメインであれば、Wordpressの方が有利になる。世界観を作りやすいので。その場合は、EC用の何かをWordpressに組み込むよりも、BASEやShopifyのページに飛ばしたほうが簡単だし、安全であるけれど。
リバースプロキシの後ろにWordpressをおいて、リバースプロキシ経由でアクセスさせようとしたところ、ハマった。いろいろと試しているが、現在進行系で格闘中だ。
事象としては、
という具合だ。前がNginxで、後ろがApache2.4。WordpressをCDNで配信するときの設定も試したが、うまく行かず。たぶん、根本的に何かが欠けていると思われる。簡単と思っていたけれど、思わぬところでハマるものだ。最初から考え直し。
TCDで購入したWordpressのテーマをアップデートする方法。アップデートの方法自体は、公式サイトで公開されているが、周辺部分も含めたメモとして。
この方法は、とても楽。詳しくない人でも、作業ができる。欠点は、一度、別のテーマにすることより、サイトの見た目が崩れること。
あと、インストールしていたテーマを一度削除するので、設定データが消えるのではないか、というドキドキ感が大きい。
企業用のサイトの場合、短時間でも、見た目が崩れるのが許容できなければ、この方法は採用できない。SFTPなどによるテーマの直接的な上書きインストールでの対応が必要になる。
前提として、SFTPなど、直接Wordpressのインストールディレクトリにアクセスできる権限が必要。また、既存のテーマのアップデート権限を持っている必要がある。
この方法であれば、見た目が崩れることなく、テーマのアップデートができるため、企業向けのサイトなどには適している。
(前準備)
(テーマの更新)
(テーマ更新後の確認)