その投稿フォーマットは かなり人気がありますが 極端に大まかに描かれた概念だけです、私はユーザーが可能なトラップに遭遇するのを見ます。
投稿フォーマット...
どちらも、ユーザーが攻撃する可能性のあるトラップの例です。
投稿形式には、必要なデータの入力のみを許可するカスタムメタボックスがあります。
アイデア自体はそれほど悪くはありませんが、それでもユーザーがやらなければならない問題があります。
私が探しているのは
または...
注意:
メタボックスの正確な内容を探しているのではありません。私が最も興味を持ったのは、さまざまなcode
の例の中で「環境」を見ることです。
ありがとうございました!
私はこのようなことを一度やったことがありますが、あなたが特定のカテゴリをクリックしたとき(本質的に同じ)確かにそれは本当のajaxソリューションではなく、設定でdivを隠して明らかにしますが、それはうまくいくソリューションです。あなたは間違いなくあなたのニーズに合わせてこれを修正しなければならないでしょう、しかしあなたがjQueryをよく知っていれば、きっとあなたのニーズに合わせてこれを修正することができるでしょう。あなたがあなたのニーズについてもう少し具体的であるならば、私はあなたがより正確に探しているものに合うようにこれを編集して幸せであると思います。
私はプラグインでこれを使用しましたが、あなたはちょうどあなたのテーマのfunctions.phpにこれを入れることができます
function customadmin_testimonial() {
if ( is_admin() ) {
$script = <<< EOF
<script type='text/javascript'>
jQuery(document).ready(function($) {
$('#testimonial-information').hide();
$('#in-category-3').is(':checked') ? $("#testimonial-information").show() : $("#testimonial-information").hide();
$('#in-category-3').click(function() {
$("#testimonial-information").toggle(this.checked);
});
});
</script>
EOF;
echo $script;
}
}
add_action('admin_footer', 'customadmin_testimonial');
基本的にあなたがここに持っているものは最初に私がすでにセットアップしたメタボックスを隠すjQueryスクリプトです。箱のIDは#testimonial-informationです。次に、特定のカテゴリのボックスがチェックされているかどうかをチェックし、チェックされている場合はそれを表示します。それからそれは特定のカテゴリーのボックスのクリックを聞き、それが見えるかどうかを切り替えます。
ユーザーが特定のカテゴリを選択したときにのみ表示されるメタボックス。あなたがする必要があるのはあなたのメタボックスをセットアップしてあなたが必要とする要素のすべてのIDを取得することだけです。問題のチェックボックスだけでなくメタボックスのIDも必要です。それからあなたがする必要があるのはあなたが探しているものを得るためにこの公式に従うことです。
あなたがすべてを設定しているのにjavascriptを書いているハングアップをしているのであれば、ちょうど私にメタボックスのIDと対応するチェックボックスを提供してください、そして私はあなたのためにそれを書いて幸せです。
これが最終的なJavaScript関数です。それはadmin_footer
フックにフックされるべきです。
/**
* jQuery show/hide for meta box, post editor meta box
*
* Hides/Shows boxes on demand - depending on your selection inside the post formats meta box
*/
function wpse14707_scripts()
{
wp_enqueue_script( 'jquery' );
$script = '<<< EOF
<script type="text/javascript">
jQuery( document ).ready( function($)
{
$( "#post_format_box" ).addClass( "hidden" );
$( "input#post-format-0" ).change( function() {
$( "#postdivrich" ).removeClass( "hidden" );
$( "#post_format_box" ).addClass( "hidden" );
} );
$( "input:not(#post-format-0)" ).change( function() {
$( "#postdivrich" ).addClass( "hidden" );
$( "#post_format_box" ).removeClass( "hidden" );
} );
$( "input[name=\"post_format\"]" ).click( function() {
var mydiv = $(this).attr( "id" ).replace( "post-format-", "" );
$( "#post_format_box div.inside div" ).addClass("hidden");
$( "#post_format_box div.inside div#"+mydiv).removeClass( "hidden" );
} );
}
);
</script>
EOF';
return print $script;
}
add_action( 'admin_footer', 'wpse14707_scripts' );