WordPress: 管理画面の特定のページかどうかを判断する方法

 

 

if ( $pagenow != 'post' ) {
    return;
}

 

この例では$pagenow != 'post' つまり、投稿ページのときという分岐ができます。

functions.phpで利用できそうですね。

 

 

例えば、adminフッターアクションでは、カスタム投稿がserviceの投稿のときのみ適応させたいときなど利用できます。

 

functions.php

if ( !has_action( 'admin_footer', 'alert_category' ) ){
  add_action( 'admin_footer' , 'alert_category' );
}
function alert_category() {
echo <<< EOF
<script type="text/javascript"> 

  if(pagenow == 'service'){
    jQuery("#post").attr("onsubmit", "return check_category();");
  }
  

  function check_category(){
    var check_num = '';
    var check_num_coupon = '';
    var check_num = jQuery("#cat_taxonomy-all #cat_taxonomychecklist li input:checked").length;
    var check_num_coupon = jQuery("#cat_taxonomy-all #cat_taxonomychecklist li input:checked").length;

      if(check_num <= 0){
        if(check_num_coupon != 1 ){
        alert("カテゴリが選択されていません。");
        jQuery("#ajax-loading").css("visibility","hidden");
        jQuery("#publish").removeClass("button-primary-disabled");
        return false;
        }
      } else if(check_num >= 2){
        alert("2つ以上の子カテゴリは選択できません。");
        jQuery("#ajax-loading").css("visibility","hidden");
        jQuery("#publish").removeClass("button-primary-disabled");
        return false;
      } else {
        return true;
    }
  }

</script>';
EOF;
}

 

category cloud