カテゴリー: WordPress
WordPress のブロックエディタで PDF ファイルを挿入する場合、ファイルブロックを使用しますが、デフォルトで object 要素によるインライン埋め込み表示となり、さらにテキストリンクの横にダウンロードボタンまでもが表示されます。インライン埋め込み表示はピクセルで高さを指定できますが、そのままではスマホ表示で見にくいので別途レスポンシブ対応させる必要がありますし、テキストリンクがあるのでダウンロードボタンも不要です。
一般的にただのテキストリンクにしたい場合が多いと思うのですが、PDF を挿入するたびにいちいちブロックの設定を変更するのも面倒ですし、案件によっては PDF のサムネイル画像を表示して PDF ファイルにリンクさせたい場合もあります。
そこで、ファイルブロックのデフォルト設定の変更と、リンク付きのサムネイルを挿入する独自ブロックを作成してみました。サムネイルは、PDF をメディアファイルにアップロードした際に WordPress で自動で生成される1ページ目のサムネイルを利用します。ついでに、PDF のサムネイルをアイキャッチ画像に設定できるようにしました。
“ブロックエディタでの PDF の挿入-ファイルブロックのデフォルト設定とサムネイルの利用” の続きを読む »
カテゴリー: HTML/CSS/JS
汎用メールフォーム TransmitMail で、サイトやフォームのタイトル等の固定テキストを、フォームのテンプレートとかメールのタイトルや本文など、随所に使用することがあります。
実際にとあるフォームを元にして似たようなタイトルの新たなフォームを作成した際、あちらこちらに修正漏れがありました。(歳かな?)
そこで、ChatGPT に相談しながら設定ファイルに独自変数を追加してテンプレート内で使えるようにしてみました。
“TransmitMail で独自変数を追加する” の続きを読む »
カテゴリー: WordPress
WordPress のネットショップ構築プラグイン Welcart を使用しているショッピングサイトで、複数の施設に置いたQRコードからサイトにアクセスしてもらい、そのまま注文いただいた際に、どの施設からのアクセスによる注文かがわかるように出来ないかという相談がありました。
とりあえず思いついた方法は2つ。
- QRコードのURLに施設ごとに固有のパラメータを埋め込む。→ しかし、どうやってそのパラメータと注文を紐つけるか?
- 注文画面で施設名または施設コードを選択してもらう。→ お客様に選択してもらう手間が発生するし、必ずしもQRコードからの注文ばかりではなく任意項目なので選択されない可能性もある。
というわけで、1. のパラメータを埋め込む方法で、パラメータの値をカート画面から注文画面まで引き継ぎ、受注データに反映させることができないか、方法を探ることにしました。
“Welcart の受注データにURLパラメータを反映する” の続きを読む »
カテゴリー: WordPress
WordPress には先頭固定表示という機能があります。特定の記事を投稿一覧の先頭に固定表示する機能で、重要なお知らせ等を目立たせることができます。
便利な機能ですが、これを指定した日付で自動で解除するというような表示期限を設定する機能はありません。PublishPress Future というプラグインを使用すればこれを実現できますが、このプラグインは非公開や削除、カテゴリー変更といった投稿の様々なステータス変更をスケジューリングするもので機能が多く、今回は先頭固定表示に期限を設定したいだけなので、このプラグインは使用せず、ChatGPT とやりとりしながら、カスタムフィールドと PHP で実現することにしました。
“先頭固定表示に期限を設定する(プラグイン非使用)” の続きを読む »
カテゴリー: HTML/CSS/JS
PHP で動作する汎用メールフォーム TransmitMail で、WordPress の機能にあるようなパスワード保護(パスワードを知ってる人だけが本文を閲覧可能)を設定して、パスワードを入れないとフォームが表示されない仕組みを作ってみました。
JavaScript で実装することもできますが、ブラウザのソースを見たらフォーム部分がわかりますし、デベロッパーツールでソースを編集してフォームを表示することもできてしまいます。
一方、TransmitMail は PHP で動作しますので、PHP で実装することにしました。PHP を使えばブラウザのソースには現れません。
“TransmitMail でパスワード保護付きのメールフォームを作る” の続きを読む »
カテゴリー: WordPress
WordPress のマルチサイトで、複数のサイトの投稿を取得して一覧として表示したい場合があります。
このWillさんいんのサイトも然りで、10年前に WP Over Network というプラグインを使って実現したのですが、このプラグイン、既に12年もの間更新されていないのですね。
現在サイトのリニューアルを進めていますが、さすがにもうこのプラグインは使えないので、プラグインを使わないで実装することにしました。
今は ChatGPT というとても便利なツールがありますので、投稿をまとめて表示することは簡単に実装できたのですが、ページネーションでつまづきました。
“マルチサイトの統合とページネーション” の続きを読む »