このページの本文へ

フロントエンドエンジニアのblog

有限会社Willさんいん

このページの位置: home WordPress

カテゴリー: WordPress

カスタム投稿タイプの投稿ページに、ACFで紐つけたユーザーの投稿を表示する

なんだかよくわからないタイトルですが…
複数の会員がお知らせを投稿するサイトで、会員情報のページをカスタム投稿タイプで作成して、Advanced Custom Fields (ACF) プラグインを使ってこのカスタム投稿タイプの投稿(会員ページ)をユーザーに紐つけ、お知らせの一覧やシングルページにはカスタム投稿タイプで作成した会員ページのタイトル(会員名)とパーマリンク を、会員ページにはその会員を紐つけたユーザーが投稿したお知らせの一覧を取得して表示するということです。

ユーザープロフィールに ACF で各種フィールドを追加して、ユーザーアーカイブページで会員情報を表示するのが標準的で簡単な手法かと思いますが、今回ユーザー自身に標準のプロフィール項目以外を編集させたくないということで、カスタム投稿タイプで会員ページを作成することにしました。

また、多くのカスタムフィールドを追加するので、プロフィール画面より投稿画面の方が見やすいというのもありますし、標準のユーザーアーカイブを使わないので、URL からユーザー名がわかってしまうというセキュリティ上の問題も回避できます。

“カスタム投稿タイプの投稿ページに、ACFで紐つけたユーザーの投稿を表示する” の続きを読む »

カスタム投稿のパーマリンクからカスタムタクソノミーの子孫タームを削除する

カスタム投稿タイプのパーマリンク設定でカスタムタクソノミーを含めた場合、そのタクソノミータームに親子関係があると、それが階層的に設定されます。

パーマリンク設定
https://www.example.com/custom-post-slug/%custom_taxonomy_slug%/%postname%/
親タームがあるときの URL
https://www.example.com/custom-post-slug/親ターム/子ターム/投稿名/

今回、URL から子孫タームは削除して親タームのみとしたい案件があり、ググってみると、投稿のパーマリンクでカテゴリを含めた場合に子カテゴリを削除する方法はいくつか見つかりましたが、カスタムタクソノミーの例は見つからず、試行錯誤してみました。

“カスタム投稿のパーマリンクからカスタムタクソノミーの子孫タームを削除する” の続きを読む »

MW WP Form で空メールが送信される現象とその対策

WordPress のメールフォームプラグイン MW WP Form を利用しているサイトの一つで、下記のように各項目の内容が空のメールが送信される現象がありました。

お問い合わせフォームより送信されました。
------------------------------
お名前      :
メールアドレス  :
お電話番号    :
お問い合わせ内容 :
------------------------------

メールに送信元の情報を記載するようにしているので、そのIPアドレスを調べてみたら、発信元はロシアで、いくつかのスパムレポート(ブラックリスト)に載っていました。

各項目は必須項目となっていますが、そのチェックに引っ掛からずに送信されてます。恐らく、スパムボットによって直接メールフォームプログラムにアクセスして送信されているものと思われますが、その内容が、不正サイトに誘導するわけでもなく、空なのでスパム行為の意図が不明です。

でも、頻繁に空メールが送られてくるのは鬱陶しいので、対策を施してみました。

“MW WP Form で空メールが送信される現象とその対策” の続きを読む »

Contact Form 7 で星形の5段階評価を作成

WordPress のメールフォームプラグインといえば、Contact Form 7MW WP Form が有名ですが、それぞれに特徴があり、案件によって使い分けています。

簡単にフォームを作成できて、追加のプラグイン等による機能拡張が多いのが Contact Form 7、細かい設定ができて、出力される HTML をコントロールしやすいのが MW WP Form かなと感じています。

このたび、既に Contact Form 7 を使っているサイトで、新たなフォームの作成案件があり、その中に星形の5段階評価を付ける項目がありました。星形のインターフェイスは必須ではなかったのですが、要望ですし、フォームに(Contact Form 7 でというわけではなく)星形の5段階評価を作成する方法は、検索するといくつか紹介されていますので、できないことはないだろうと、実装してみました。

星形の5段階評価のイメージ
“Contact Form 7 で星形の5段階評価を作成” の続きを読む »

マルチサイト内でサイトを複製する

マルチサイト環境で新たなサイトを作成する場合、サイトや各種プラグインの設定、カスタムフィールド など、サイト毎に一から設定しなければなりません。

そのため、例えばマルチサイトで多言語サイトを構築していて、同じ構成で新たな言語を追加したい場合など、既に存在しているサイトと同等のサイトを新たに作ろうとするとき、上記に加えて沢山の固定ページや問い合わせフォームも作成しようとすると、かなり工数がかかります。固定ページなどは既存サイトからエクスポートしてそれを新しいサイトにインポートすることもできますが、WordPress の機能ではカスタムフィールドの内容はエクスポートされません。

そこで、既存のサイトを複製して新たなサイトを作り、それを元に必要な箇所を修正することができればと情報を探してみましたが、求めるものが見つからなかったので、既存サイトのデータベースを流用して実行してみました。

“マルチサイト内でサイトを複製する” の続きを読む »

1 2 3 6

page top