web-dev-qa-db-ja.com

選択されているカテゴリに基づいてメタボックスを検証する

Ok私は2つのカテゴリーがあるとしましょう。ユーザーがカテゴリAを選択した場合、メタボックスAに入力する必要があり、カテゴリBの場合も同様にメタボックスBになります。したがって、ユーザーがカテゴリAをチェックした場合はそれだけになります。私はJQueryが私の最善の策であることを知っています - しかしそれをどうやってやるか、または公開ボタンをクリックしたときに関数を呼び出す方法はあまりわかりません。

2
schizdazzle

遅延に対する謝罪 - 私がしたことは基本的に.jsファイルを作成して私のテーマフォルダの中に置いた - 例えばthemes/nameoftheme/custom/checkcode.js

それからjqueryを使用して - 私は自分のコードを作成しました - これがスニペットです:

jQuery( '#in-category-6')。click(function(){
jQuery( '#metabox_one')。toggle(this.checked);
jQuery( '#metabox_two')。hide();
jQuery( '#metabox_three')。hide();
jQuery( '#in-category-3')。attr( 'checked'、this.checked);
jQuery( '#in-category-1')。attr( 'checked'、false);
jQuery( '#in-category-4')。attr( 'checked'、false);
jQuery( '#in-category-5')。attr( 'checked'、false);
jQuery( '#in-category-7')。attr( 'checked'、false);
jQuery( '#in-category-8')。attr( 'checked'、false);
jQuery( '#in-category-9')。attr( 'checked'、false)
});

それはかなり説明的に思えますが、カテゴリー内のファイ - カテゴリーボックスで選択されたカテゴリーを指します。 attr - 属性を表し、チェックボックスであるためチェックされています。 catgeory-6が選択されている場合、名前で定義されているメタボックスは隠されているかどうかのどちらかです。

この後 - 私たちは今これをJavaScriptファイルと呼ぶ必要があります - そしてこれはあなたのテーマのfunctions.phpファイルに行くことによって行われます。

ここに置く -

wp_enqueue_script( 'myscript'、 '/wp-content/themes/nameoftheme/custom/checkbox.js');

fyi wp_enqueue_scriptは、ページがロードされたときにスクリプトを呼び出すビットです。

私はこれが人々にとって明らかであることを願っています。

1
schizdazzle

私はこのプラグインを見つけました:

http://wordpress.org/extend/plugins/require-post-category/

これは良い基盤を提供しており、それをハッキングしてそこから取り出そうとしています。

0
schizdazzle

すべてのメタボックスには独自のIDがあります。

カテゴリチェックボックスのonchangeイベントを処理することができます。ユーザーがカテゴリを設定したときに、ロード時にすべてを非表示にして表示します。

0
ilovewordpress