Advanced Custom Fieldsでフィールドの追加ができない。
WordPressにオリジナルの項目(フィールド)を追加する事ができ、オリジナル投稿(Post)やタクソノミーなどにもフィールドを追加できる非常に便利なWordpressのプラグイン「Advanced Custom Fields」。
今回は、「Advanced Custom Fields」を導入したもののフィールドの追加ができない事象に遭遇し、はまった事がありましたので、その内容のご紹介となります。
(結論から言うと、単純なのですが。)
はじめに
「Advanced Custom Fields」(以降、ACFで略)の便利なところは、Wordpressのコンテンツにオリジナルのフィールドを追加できます。
追加できるフィールドは、テキスト、テキストエリア、画像のアップロード、セレクトボックスなど・・・様々。
例えば、Wordpressの管理画面にオリジナルの投稿(Post)として「商品」を追加したとします。
本来であれば、この商品に関する情報の入力部分をプログラムで一つ一つ書かなければなりませんが、この「ACF」があれば、GUIで簡単に追加ができます。
つまり、「商品」に関する情報、例えば、「商品名」、「商品価格」、「商品説明」、「商品画像」・・・などを自由に追加することができます。
取り出せる関数も準備されていますので(get_field関数)、この関数を使って管理画面から追加した「商品」に関する情報を取得し、Webサイトに掲載する事ができます。
もちろん、Wordpressのコンテンツにオリジナルのフィールドが追加できるため、投稿だけでなくタクソノミーなどにも追加でき、オリジナルの設定画面などを制作する際には、非常に便利なプラグインとなります。
細かい詳細は、他のサイトにお任せします。
今回は、このAdvanced Custom Fieldsを利用している中で、設定ができない事象が発生し少しはまりましたので、その内容の紹介となります。
Advanced Custom Fieldsでフィールド追加ができない。
その事象は突然、やってきました。
いつも通り、Advanced Custom Fieldsをインストールし設定しようとしていたところ、あれ、フィールドの追加ができない。
ボタンを押しても、うんともすんとも言わない。なぜ。
調査しました。
調査した内容
ネットで調べた主な内容は以下でしたが、該当しませんでした。
①「ACF」の登録したフィールド数が、PHPで一度にPOSTできる数の上限”max_input_vars”の上限を超えている。
→ そもそもプラグインをインストールしたばかりなので該当しない。
その他もろもろも該当しませんでした。
気づいた内容
実際に「ACF」の該当箇所のHTML文を見たところ、この「フィールドを追加」のaタグにhref=”#”が入っております。
1 2 3 4 5 | <ul class="acf-hl acf-tfoot"> <li class="acf-fr"> <a href="#" class="button button-primary button-large add-field">+ フィールドを追加</a> </li> </ul> |
つまり、クラス名を使って、「フィールドを追加」がクリックされた際の処理を実装している事がわかります。(細かに内容までは見ていません。)
これでピンときました。
こちらで作り込んだJavaScriptのファイルには、ページ内ジャンプをヌルっと移動させるため以下の記載をしておりました。
1 2 3 4 5 6 | jQuery(function($){ var t = jQuery('.siteHeader-frm').outerHeight() + 20; jQuery("a[href^=#]").click(function () { var e = $(this).attr("href"), o = $("#" == e || "" == e ? "html" : e), n = o.offset().top - t; return jQuery("html, body").animate({scrollTop: n}, 500, "swing"), !1 }); }); |
見てわかる通り、hrefに#が入っていた場合には、「ACF」の処理ではなく、異なる処理に書き換えられていることがわかります。
そのため、こちらの自分で作り込んだ処理の方が実行されていました。
本処理を修正したところ、問題なくフィールドの追加ができるようになりました。
結論
もし、Wordpressのプラグインがうまく動かない等に遭遇した場合には、自分で制作したプログラムが悪さをしている場合もあります。
(もちろん、プラグイン同士で競合している可能性もあります。)
ネットで調べてみて、わからないような場合には、一度自分で制作したプログラムを見直してみると良いかもしれません。
WEB DESIGN全てお任せ!ホームページ制作
RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。
「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。
運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。
しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。
本業が忙しい中小企業様に大変ご好評を頂いている商品です。
独自ドメイン取得
サーバー開設&設定
レイアウト設計
レスポンシブルデザイン
(*1)検索エンジン最適化
(SEO対策)場所Maps
お問い合わせフォーム
SSL化
各種SNS連携
運用マニュアル