WordPress

[WordPress]カスタムプラグインで投稿文字数の自動集計機能を追加した とりあえずのメモ

[WordPress]カスタムプラグインで投稿文字数の自動集計機能を追加した

WordPressの投稿文字数を日々集計し、データベースに保存するプラグインを作成しました。従来は集計画面表示時のみ実行されていた処理を、記事保存時に自動実行するように改善しました。下書き保存時の処理は負荷を考慮して省略し、公開・更新・削除時のみ実行する仕様としました。
[WordPress]ウィジェットタイトルを非表示にするCSS とりあえずのメモ

[WordPress]ウィジェットタイトルを非表示にするCSS

WordPressの管理画面で多数のウィジェットを区別しやすくするため、タイトルをつけると便利です。しかし、管理用のタイトルがサイト上で表示されてしまうのは困ります。これは簡単なCSS設定で解決でき、サイト運営の効率が向上しました。ウィジェットタイトルの表示設定についてWordPressサイトでは、多数のウィジェットを配置していると、管理画面での区別が難しくなることがあります。各ウィジェットに管理用のタイトルをつければ楽です。しかし、サイト上でも表示されてしまうため、これまで...
WordPressの編集画面での差し替えた画像が古い状態で表示される?(画像キャッシュ) とりあえずのメモ

WordPressの編集画面での差し替えた画像が古い状態で表示される?(画像キャッシュ)

WordPressの画像キャッシュ問題により、差し替えた画像が古い状態で表示されることがあります。これは、ブラウザのキャッシュと画像URLの仕様が主な原因でした。キャッシュが読み込まれないように、functions.phpに管理者用に JavaScriptのコードを追加して、動的に画像URLにタイムスタンプを付与するようにしました。WordPressの画像キャッシュ問題WordPressでサイトを運営しているのですが、差し替えた画像ファイルをプラグイン(Media Clean...
WordPress創設者とWP Engineの対立(OSSの難しさ) とりあえずのメモ

WordPress創設者とWP Engineの対立(OSSの難しさ)

WordPressの共同創設者マット・マレンウェッグ氏とWP Engineの間で、商標使用と貢献度をめぐる対立が起きています。WordPress.orgはWP Engineからのアクセスを遮断しました。オープンソースと商業利用のバランス、コミュニティへの影響など、多くの課題を提起しています。「OSSで大きな利益を出したなら還元しろ」ってことなのかな。OSSはコミュニティで運営しているから個人開発より盤石だと思っていたけど、リーダーの一存であっという間に変質してしまうんだね。O...
ブロックエディタを狭い画面で表示するときの文字サイズを小さくした とりあえずのメモ

ブロックエディタを狭い画面で表示するときの文字サイズを小さくした

ブロックエディタを狭い画面で表示する際の文字サイズを小さくしました。画面幅1080px以下の時に、文字や余白を調整するカスタムCSSを追加しました。これにより、AI画面を表示させた狭い画面でも、文章の全体像が見やすくなりました。ブラウザにサイドバーを表示すると「狭い」ブラウザのサイドバーにAI画面などを表示させると作業がスムーズになるものの、表示画面は狭くなります。特に、WordPressのブロックエディタを使っているときに、文章の全体像が見えにくく感じます。一時的にサイドバ...
WordPressにSVG画像をアップロードできるようにした(functions.php) とりあえずのメモ

WordPressにSVG画像をアップロードできるようにした(functions.php)

WordPressではセキュリティ上の理由からSVGファイルのアップロードが制限されています。functions.phpにカスタム関数を追加すれば、ブログエディタでのSVGアップロードを許可できます。ただし、アップロードを許可する場合、リスクも認識しておくことが大事です。「このファイルタイプ(SVG)をアップロードする権限がありません」WordPressにSVGファイルをアップロードしようとしたらエラーになりました。このファイルタイプをアップロードする権限がありません。fun...
[Cocoon] ブログカードのHTML構造でCSSを整理した(style.css) とりあえずのメモ

[Cocoon] ブログカードのHTML構造でCSSを整理した(style.css)

Cocoonテーマのブログカードの追加CSSを整理しました。ブログカードのHTML階層構造とメディアクエリで順序立ててまとめました。スタイルを追加するときは、はじめから構造を意識しておけばよかったね。style.cssに追加コードを整理したいstyle.cssに追加コードが増えて来たので、整理したいと思います。ただし、優先順位の問題があるので、並び順やCSSクラスの重ねた修飾の仕方も重要です。ブログカードの階層構造Cocoonテーマのブログカードは、HTMLの階層構造になって...
[WordPress]ランダムな記事へのボタンを追加した(functions.php) とりあえずのメモ

[WordPress]ランダムな記事へのボタンを追加した(functions.php)

過去の記事を「掘り起こして」読んでもらう仕掛けとして「ランダムな記事へのボタン」を追加しました。WordPressブログにランダムな記事へのボタンを追加するカスタムウィジェットを作成しました。きっかけは、ブログの「アーカイブ」としての機能を強化したいと思ったからです。カスタムウィジェットを作成するPHPコード前の記事、ランダムな記事、次の記事へのリンクを表示するカスタムウィジェットを作りました。WordPressテーマのfunctions.phpファイルの末尾に追加したら、ウ...
[WordPress] H2タグの文字の前に番号を追加するカスタムスクリプト(functions.php) とりあえずのメモ

[WordPress] H2タグの文字の前に番号を追加するカスタムスクリプト(functions.php)

H2タグの前に番号を付けるために、WordPressの functions.php にカスタムスクリプトを追加しました。H2タグを検出し文字列を置き換える処理を、フィルターとして 'the_content'に追加します。H3タグでも同様に階層的な番号付けができます。
[WordPress] ウィジェットエリアを転用して左サイドバーにした(CSS) とりあえずのメモ

[WordPress] ウィジェットエリアを転用して左サイドバーにした(CSS)

WordPressサイトで、ワイド画面の左側の空きスペースを活用し、目次を左サイドバーとして表示するカスタマイズを行いました。このカスタマイズは、使っていないウィジェットエリアを、CSSで転用して実現しています。画面幅に応じて表示を切り替える仕組みも導入し、小さな画面では従来の記事内目次を表示するようにしました。すぐに見出しに飛びたいパソコンで記事を読んでいるときに、スムーズに見出しに移動できるように、左サイドに目次を追加しました。従来の目次は、導入文の後(1つ目の見出しの前...
[Cocoon] アイコンリストで二項対立のスライドを作るCSS とりあえずのメモ

[Cocoon] アイコンリストで二項対立のスライドを作るCSS

2つの事柄を対比して説明することが多いです。毎回、Keynoteで図解を作るのは大変。テキスト入力だけでかんたんに作成できると便利です。そこで、Cocoonテーマのアイコンリストを二項対立のスライドにするCSSを作りました。追加CSSクラスにslide dichotomyを入れるアイコンリストの追加 CSS クラスに「slide dichotomy」を入力すると、二項対立(dichotomy)のスライドになります。追加されたCSSポイントは、 display: flex; j...
[WordPress]画像キャプションをalt属性を自動設定するカスタムスクリプト(functions.php) とりあえずのメモ

[WordPress]画像キャプションをalt属性を自動設定するカスタムスクリプト(functions.php)

WordPressの画像ブロックにおいて、キャプションをalt属性に自動設定するカスタムスクリプトを作成しました。このスクリプトは、figcaptionタグ内のテキストを優先的にalt属性に設定します。functions.phpに追加することで、画像のアクセシビリティを向上させることができます。画像のキャプションをalt文字列に活用したいWordPressの画像ブロックには、キャプションを付けることができます。画像にAlt文字列が設定されていないときに、もしキャプションがあれ...
ブログカード抜粋の先頭に「関連」を付けた プログラミング

ブログカード抜粋の先頭に「関連」を付けた

Cocoonテーマの「ブログカード」のカスタムCSSクラス「simple」の先頭に「【関連】」という文字を自動的に追加するようにしました。コードを整理して、よりスッキリとしたデザインに改善しました。「関連」という文字を先頭に追加したCocoonテーマのブログカードにCSSクラス「simple」を追加すると、文字リンクにするようにしています。このまえに「【関連】」という文字を自動的に追加するようにしました。.wp-block-cocoon-blocks-blogcard.sim...
[WordPress]ブロックエディタに「書式のクリア」のショートカットキーを追加した(functions.php) とりあえずのメモ

[WordPress]ブロックエディタに「書式のクリア」のショートカットキーを追加した(functions.php)

WordPressのブロックエディタに「書式のクリア」のショートカットキーを追加しました。functions.phpとcustom-editor.jsを使用して、Command+Jで「書式のクリア」をできるようにしました。「書式のクリア」のショートカットキーを追加したいWordPressのブロックエディターにControl+Spaceでテキストの書式をクリアするショートカットキーとして「Command+J」を追加しようと思います。ブロックエディタの「書式のクリア」は、そのほか...
[WordPress] メディアライブラリの「添付」されたり、されなかったり? ホームページ運用

[WordPress] メディアライブラリの「添付」されたり、されなかったり?

WordPressのメディアライブラリには「添付」という概念があり、画像と投稿・固定ページの関連付けを管理します。画像の挿入や削除により添付状態が変化しますが、URLリンクでの指定は技術的に「添付」にはなりません。メディアライブラリから画像を選択することで、管理の効率化やSEO対策、セキュリティ向上などの利点があります。WordPressのメディアライブラリにおける「添付」の意味WordPressのメディアライブラリには「添付」という概念があります。メディアライブラリでは、各...
[WordPress]記事内の画像のalt属性を見出しから自動設定した(functions.php) とりあえずのメモ

[WordPress]記事内の画像のalt属性を見出しから自動設定した(functions.php)

WordPressのアイキャッチ画像にalt属性を自動設定する方法を紹介します。functions.phpにカスタム関数を追加することで、空のalt属性に記事タイトルを設定します。この機能により、SEOとアクセシビリティの向上が期待できます。
WordPressサイトに二要素認証を追加した(Two-FactorプラグインとGoogle Authenticator) とりあえずのメモ

WordPressサイトに二要素認証を追加した(Two-FactorプラグインとGoogle Authenticator)

WordPressの安全性を高めるために、二要素認証を導入しました。Two-Factorプラグインを使用し、Google Authenticatorアプリと連携させて設定しました。ログイン時には、IDとパスワードの入力後に、アプリで生成されたコードも入力する必要があります。(参考)Two-Factor – WordPress プラグイン | WordPress.org 日本語WordPressに二要素認証を導入する最近、WordPressプラグインの改ざん被害に間一髪で逃れま...
Bingの更新情報サービスとIndexNowを追加した とりあえずのメモ

Bingの更新情報サービスとIndexNowを追加した

せっかく書いた記事が Bingの検索結果に表示されないことでちょっと困っています。前回は…そこで、「更新情報サービス」への通知設定を追加しました。更新情報サービス「更新情報サービス」は、あなたが新しい記事を公開したときに、検索エンジンなどの外部サイトに「新しい記事がありますよ」と教えてくれるサービスです。更新情報サービスを使うと、検索エンジンに「今すぐ見に来てください」とお知らせすることができます。これにより、検索エンジンが新しい記事を素早く見つけて、検索結果に反映させやすく...
[WordPress]Ad Invalid Click Protectorのマルウェア感染と修復(バージョン 1.2.9) とりあえずのメモ

[WordPress]Ad Invalid Click Protectorのマルウェア感染と修復(バージョン 1.2.9)

WordPressプラグイン「Ad Invalid Click Protector 1.2.9」で不正アクセスの被害があったそうです。開発者のアカウントがハッキングされ、一時的にではありますが「悪意のあるコード」を埋め込まれたことが原因です。すでに問題は最新バージョンでは修正されています。たまたまプラグイン更新のタイミングで被害を免れましたが、すぐに更新していたり、プラグインレビューチームの迅速な対応がなかったらと思うとゾッとします。「Ad Invalid Click Pro...
[WordPress]管理者ログインしていないときだけ実行するJavaScriptを追加した(分離) ホームページ運用

[WordPress]管理者ログインしていないときだけ実行するJavaScriptを追加した(分離)

以前に、下にスクロールするとヘッダーメニューを半透明にするスクリプトを入れました。しかし、自分がログインしているときは不要なのでオフにすることにしました(画面録画するときに撮影範囲がわかりにくい)。環境:WordPress, Cocoon, Cocoon子テーマいったん javascript.jsの以下のコードを削除して、管理者ログインしていないときに限定します。/** * 2024-07-04 管理者ログインしていないときのスクリプトを分けた * 下にスクロールするとヘッダ...
[Cocoon] ブログカードを2列に並べるCSS とりあえずのメモ

[Cocoon] ブログカードを2列に並べるCSS

メッセージ動画の一覧を並べるために、Cocoonのブログカードに「thumbnail-only」のCSSクラスを追加しました。style.cssに以下のコードを追加しました。ポイントは、「display: flex」と「flex-wrap: wrap」です。/** 2024-07-01 ブログカードを2列に並べるCSS */.blogcard-type.thumbnail-only .blogcard-snippet{ display: none;}.blogcard-typ...
【断念】WordPressでタイトルからアイキャッチ画像を自動生成したい(Auto Post Thumbnailプラグイン) とりあえずのメモ

【断念】WordPressでタイトルからアイキャッチ画像を自動生成したい(Auto Post Thumbnailプラグイン)

WordPressでタイトルからアイキャッチ画像を自動生成したかったのですが、結局 断念しました。ざっと調べたものは、$55の有料版限定であったり、日本語の文字化けがあったりしたからです。この記事のアイキャッチ画像は、結局 Keynoteで作りました。Auto Post Thumbnailのダウンロード数が最多はてなブログなど、記事のタイトルがそのままアイキャッチになるサービスが便利そうです。SNSで見かけたときに、読みたくなります。WordPressでも同じようにできないか...
[CSS]ラベルボックスをスライド画像風にした プログラミング

[CSS]ラベルボックスをスライド画像風にした

ふだんは、説明用の画像スライドを用意しているのですが、WordPress上で簡易版の文字スライドを作れるようにしました。まず、このようなラベルボックス(Cocoon汎用ブロック)を作ります。ラベルボックスのスライド化枠線を半透明のグレーに設定ラベル背景色を明るいベージュに変更要素の幅を内容に合わせて自動的に調整要素の左右の余白を自動的に調整これをカスタムクラス「slide」に追加します。ラベルボックスのスライド化枠線を半透明のグレーに設定ラベル背景色を明るいベージュに変更要素...
[Cocoon]アイコンリストにステップ箇条書きのカスタムクラスを追加した とりあえずのメモ

[Cocoon]アイコンリストにステップ箇条書きのカスタムクラスを追加した

これが普通のアイコンリストです。追加CSSクラスにstep-listを追加する全体が太字になる2行目はそのままリストタイトルの文字が大きくなる項目内の行間と項目間の余白が調整されるそこに、追加CSSクラスに「step-list」を入れて、アイコンを変更してみます。 追加CSSクラスにstep-listを追加する全体が太字になる2行目はそのままリストタイトルの文字が大きくなる項目内の行間と項目間の余白が調整されるstyle.cssに追加しました。/** step-listタグを...
[WordPress]インデックスされていた変なURL “page/74/?cat=-1”を除外した(functions.php) とりあえずのメモ

[WordPress]インデックスされていた変なURL “page/74/?cat=-1”を除外した(functions.php)

WordPressサイトのGoogle Search Consoleで、「page/74/?cat=-1」のような変なURLがインデックスされていました。このような記事一覧ページを検索インデックスから除外するために、functions.phpにコードを追加しました。page/74/?cat=-1とは?(記事一覧ページ)Google Search Consoleのインデックス済みのページを眺めていたら、変なURLがありました。 https://chiilabo.co.jp/pa...
[Cocoon] ブログカードのラベルを小さくしたけど とりあえずのメモ

[Cocoon] ブログカードのラベルを小さくしたけど

ブログカードのラベルを表示させたとき、シンプルなカードデザインと合わないと感じました。少し重なっています。そこで、ラベルの大きさを少し小さくしてみました。/** ブログカードのラベルを小さく 2024-05-19 */.blogcard-label { top: -22px; left: 0px; padding: 0px .6em;}Cocoonテーマには「ブログカード」ブロックがあり、ラベルを設定できます。しかし、スタイルシートを変更して表示を確認したところ、予想と異なる...
サイト内タグをハッシュタグ化っぽくした(functions.php) とりあえずのメモ

サイト内タグをハッシュタグ化っぽくした(functions.php)

Google検索結果で、ハッシュタグ(#)を含む投稿が増えてきています。そのため、自分のサイトでもタグにハッシュマークを追加することにしました。functions.phpとstyle.cssを編集し、サイト内のタグがハッシュタグの形式で表示されるようにしました。
WordPressカスタムプラグインに日毎のPVを表示する機能を追加した プログラミング

WordPressカスタムプラグインに日毎のPVを表示する機能を追加した

WordPressプラグインに日毎のPVを表示する機能を追加しました。add_menuを追加自作のカスタムプラグインを使っています。今回は、そのプラグインに機能を追加します。※以前にプラグインを作成したのは、こちら。まず、新しいサブメニューページを chiilabo_stats_admin_menu関数内のadd_menu_page関数の引数に追加しました。add_submenu_page( 'chiilabo-stats', // 親メニューのスラッグ '日別PV', '日...
QRコード生成APIをGoogleからqrserver.comに変更した トラブルと対処

QRコード生成APIをGoogleからqrserver.comに変更した

ついに GoogleAPIsのQRコード生成APIが終了していたので、QR code generator(goqr.me)のAPIに変更しました。変更前: ' . $url変更後: ' . urlencode($url)前提: $url = get_the_permalink();URLをURLエンコードするのがポイントです。QRコードが表示されていない?このサイトの記事を印刷すると、その記事のQRコードが印刷されるように設定しています。ところが、久しぶりに印刷されたものを確...
.co.jpドメインに変更していく(検索インデックスの管理) とりあえずのメモ

.co.jpドメインに変更していく(検索インデックスの管理)

旧ドメインと新ドメインの重複期間の取り扱いがセンシティブなのです。新規ドメインの空のサイトを作る前回は、ドメインを取得しました。なにはともあれ、サーバに新ドメインを設定してサイトを作ります。まずは、サーバ内に受け皿を用意します。サーバ管理画面(cPanel)からドメインを追加します。WordPress等のプログラムは、ドキュメントルートを同じにすると正常に動作しない可能性があるので、チェックを外す。次は、「看板」の取り付けです。「chiilabo.co.jp」にアクセスしたと...
[WordPress] モバイル版の記事一覧の間隔を狭くした とりあえずのメモ

[WordPress] モバイル版の記事一覧の間隔を狭くした

モバイル版の記事一覧の間隔が狭くなるように、スタイルを調整しました。一度に 5記事から 8記事見えるようになりました。/** 記事一覧の密度を高くする 2024-04-26*/@media screen and (max-width: 480px) { .list { row-gap: 0; } .list.ecb-entry-border .entry-card-wrap { margin-bottom: 0; } .e-card-title { font-size: 16...
[WordPress] パターン名を変更したい(旧再利用ブロックの名前) トラブルと対処

[WordPress] パターン名を変更したい(旧再利用ブロックの名前)

WordPress 6.5へのアップデートにより、再利用ブロックがパターンに変更され、パターン名を編集する方法がわかりづらくなりました。パターン編集画面で「コード編集」に切り替えれば、パターン名の編集欄が表示され変更できます。これにより、スラッシュ挿入での意図しないブロックの優先表示を防ぐことができました。環境WordPress 6.5.2、PHP 8.0.30、Cocoon 2.7.3.1Change Block Keywords2.1.2(WordPress5.4.999...
モバイルヘッダーロゴが中央になっていたので左に直した(Cocoon 2.7.3.1) とりあえずのメモ

モバイルヘッダーロゴが中央になっていたので左に直した(Cocoon 2.7.3.1)

スマホで自サイトを表示したら、ロゴの左端から中央に変わっていました。サイトロゴはもともとは中央で、自サイトでは以前にカスタマイズしていたところです。style.cssのロゴクラス(.mobile-menu-buttons .menu-button.logo-menu-button)に「justify-content: flex-start」を追加して戻しました。ちょうどCocoonテーマの更新で 2.7.3.1になっていました。環境WordPress:6.5.2、PHP:8....
[WordPress] ブロックエディタで下線のショートカットキー(⌘U)が反応しなかった(プラグインの再有効化) トラブルと対処

[WordPress] ブロックエディタで下線のショートカットキー(⌘U)が反応しなかった(プラグインの再有効化)

WordPressのブロックエディタで、下線のショートカットキー(⌘U)が反応しない不具合がありました。いったんWordPressプラグインをすべて無効化して有効化し直すと、⌘Uがちゃんと動作するように戻りました。WordPressプラグインも、一時的な不調でリセットが有効なことがあるんですね。下線のショートカットキーが使えない?ブログ記事の装飾の仕方で、「主張を太字し、根拠に下線をつけると見やすい」という意見を見つけました。これまでは強調のための太字しか使っていなかったので...
[Cocoon] サイトロゴのリンク先をページ種類で変えた(WordPress) とりあえずのメモ

[Cocoon] サイトロゴのリンク先をページ種類で変えた(WordPress)

Cocoonテーマでサイトロゴのリンク先を変更したいと思って、 functions.phpをカスタマイズしました。add_filterで「'mobile_header_site_logo_url'」の処理で条件分岐するようにして、記事ページとトップページではブログ一覧に移動するように変更しました。ロゴのリンク先を分岐させたいサイト上のロゴを押したとき、通常はトップページに移行します。しかし、記事上に限ってはブログ一覧ページに移行するように変更しようと思います。以下のコードを ...
[Cocoon]タグ一覧から1記事しかないタグを除外した(WordPress) とりあえずのメモ

[Cocoon]タグ一覧から1記事しかないタグを除外した(WordPress)

WordPressのCocoonテーマのタグ一覧で、1記事しかないタグを非表示にするように、functions.phpのショートコードを修正しました。記事数が2以上のタグを降順で表示するようにしたら、タグ一覧がスッキリして関連記事を探しやすくなりました。生成AIでコードの修正案を生成したので、数分でできました。環境WordPress, Cocoonテーマさらにタグ一覧をカスタマイズした以前、WordPressサイトで記事のタグ一覧を表示するショートコードを作りました。しかし、...
[WordPress 6.5] ブログカードでYouTube動画がうまく表示されない?(Cocoonのキャッシュとリンク) とりあえずのメモ

[WordPress 6.5] ブログカードでYouTube動画がうまく表示されない?(Cocoonのキャッシュとリンク)

Cocoonテーマの「ブログカード」を使ってYouTube動画を埋め込んでいるのですが、たまに外部ブログカードとして表示されてしまうことがあるんです。原因を調べてみると、YouTubeで公開前処理が終わる前に埋め込み動画を設置したことや、URL貼付け時に「リンク」に自動変換されていることが関係しているようです。埋め込み動画を設置するには、YouTube上で閲覧可能になるまで待って、URLに付いたリンクを削除する必要があります。ブログカードで動画を埋め込んでいるブログ内にYou...
WordPress 6.5のブロックエディタの更新内容(ざっとまとめ) とりあえずのメモ

WordPress 6.5のブロックエディタの更新内容(ざっとまとめ)

WordPress 6.5にアップデートして、ブロックエディタの挙動がだいぶ変わっているので、ざっとメモしています。リンク関係URLをペーストすると自動的にリンクになる挿入されたリンクをクリックするとポップアップから編集できるボタンブロックのリンクに nofollow の指定ができるリストビュー関係リストビューをドラッグして移動できるリストビューで右クリックするとオプションメニューが表示されるリストビューやブロックツールバーから「名前の変更」ができる余白・サイズなどリスト項目...
サイトを複製されたくないのでRSSフィードを非公開にした[WordPress] とりあえずのメモ

サイトを複製されたくないのでRSSフィードを非公開にした[WordPress]

複製サイトが情報源として「RSSフィード」を使っている事例に遭遇しました。そこで、WordPressサイトのRSSフィードを無効にすることにしました。functions.phpでRSSフィードを生成する処理をフックで置き換えます。WordPressサイトのRSSフィードを置き換えるコード公開されているコードを参考に、RSSフィードを無効化することにしました。function disable_our_feeds() { wp_die( __('<strong>Error:</s...
WordPressカスタムプラグインのタイムアウトを避ける(mixhost) プログラミング

WordPressカスタムプラグインのタイムアウトを避ける(mixhost)

カスタムプラグインでサイトの統計情報を分析しているのですが、時々タイムアウトで動かなくなってしまうんです。そこで、cPanelのMultiPHP INIエディタを使って、max_execution_timeの設定を変更してみました。これで、プラグインが途中で止まらずに済むようになりました。カスタムプラグインの動作が安定しないカスタムプラグインでサイト統計情報を分析しています。ところが、最近 そのプラグインの統計ページが動かないときがあります。ページの再読み込みすると動いたりも...