2

WordPressの投稿を使用して投稿を作成しています。投稿のカテゴリを選択しないと警告するプラグインや機能はありますか。カテゴリを投稿するたびに頭痛がします。しばらくしてからこのカテゴリに投稿される投稿は、カテゴリに分類されていない投稿を見ると大きな頭痛の種になります。

add_theme_support('menus');

****

**>スタックオーバーフローでは許可されないため、上記のコードは何もありません

標準の低と書かれているので、私の質問を投稿してください。**

** 前もって感謝します。適切な答えが1つ見つかるといいのですが

4

2 に答える 2

5

はぁ..とても面白いですが、functions.phpファイルで以下のように試すことができます

function force_post_categ_init() 
{
  wp_enqueue_script('jquery');
}
function force_post_categ() 
{
  echo "<script type='text/javascript'>\n";
  echo "
  jQuery('#publish').click(function() 
  {
    var cats = jQuery('[id^=\"taxonomy\"]')
      .find('.selectit')
      .find('input');
    category_selected=false;
    for (counter=0; counter<cats.length; counter++) 
    {
        if (cats.get(counter).checked==true) 
        {
            category_selected=true;
            break;
        }
    }
    if(category_selected==false) 
    {
      alert('You have not selected any category for the post. Please select post category.');
      setTimeout(\"jQuery('#ajax-loading').css('visibility', 'hidden');\", 100);
      jQuery('[id^=\"taxonomy\"]').find('.tabs-panel').css('background', '#F96');
      setTimeout(\"jQuery('#publish').removeClass('button-primary-disabled');\", 100);
      return false;
    }
  });
  ";
   echo "</script>\n";
}
add_action('admin_init', 'force_post_categ_init');
add_action('edit_form_advanced', 'force_post_categ');

注:-これを実行するには、JavaScriptを有効にする必要があります

于 2013-03-15T09:59:16.430 に答える
2

ページにチェックされた値をロードしてから、入力のチェックを外して保存できるため、jQueryオブジェクトを使用して入力の実際の値を読み取ることをお勧めします。これは、jQueryオブジェクト.is('checked')メソッドを使用します。

function force_post_categ() 
{
    $custom_js = <<<CUSTOM_JS
    <script type='text/javascript'>
    jQuery('#publish').click(function() 
    {

      var cats = jQuery('[id^="taxonomy"]').find('.selectit').find('input');
      category_selected = false;

      $.each(cats, function(key,value){
          if ( $(this).is(':checked') == true ) {
            category_selected = true;
            return false;
          }
      });

      if (category_selected == false) 
      {
        alert('You have not selected any metro or country for the post. Please select a metro.');
        setTimeout("jQuery('#ajax-loading').css('visibility', 'hidden');", 100);
        jQuery('[id^="taxonomy"]').find('.tabs-panel').css('background', '#F96');
        setTimeout("jQuery('#publish').removeClass('button-primary-disabled');", 100);
        return false;
      }
    });
    </script>
CUSTOM_JS;

    echo $custom_js;
}
于 2018-11-14T14:05:07.627 に答える