同じコードに従って、同じ結果が得られるかどうかを確認しようとしていましたが、is_page()が期待どおりに機能しないことに気付きました。したがって、グローバル変数$ postをたどってカテゴリ名/スラッグをチェックし、後者は単純なテキスト比較を使用してアクションを決定しました。
global $post;
$postcat = get_the_category( $post->ID );
if ( ! empty( $postcat ) ) {
echo esc_html( $postcat[0]->ID ); // Debug
echo esc_html( $postcat[1]->name ); // Debug
echo var_dump($postcat ); // Debug
}
(サブカテゴリではなく)1つのカテゴリのみの場合のカテゴリの値
echo esc_html( $postcat[0]->name ); //Display name on screen
サブカテゴリの場合、次の変数が入力されます
echo esc_html( $postcat[1]->name ); //Display name on screen
今あなたの必要性に基づいて、私がサブカテゴリ名をチェックするために使用しているように、以下のコードを使用します:
//Use $postcat[0]->name for parent category name Can be your sub category name
if ( $postcat[1]->name == 'Shopping' ) {
wp_enqueue_style( 'stylesheet_name' );
}else{
// other code
}
完全なコード:
function wpse39130_register_more_stylesheets() {
wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/whatsqshop.css' );
}
add_action( 'init', 'wpse39130_register_more_stylesheets' );
function wpse39130_conditionally_enqueue_my_stylesheet() {
// only enqueue on product-services page slug
global $post; //GLobal Post variable
$postcat = get_the_category( $post->ID ); // Get the Category info from POST ID
if ( ! empty( $postcat ) ) { // IF POST CATEGORY IS NOT EMPTY
// echo esc_html( $postcat[0]->slug ); //Display SLUG On output screen <Debug option>
//echo esc_html( $postcat[0]->name ); //Display name on screen
//echo esc_html( $postcat[1]->name ); //Display name on screen
//echo var_dump($postcat ); // For debug
}
// if( is_single(88)) {
if ( $postcat[1]->name == 'Shopping' ) {
wp_enqueue_style( 'stylesheet_name' );
}else{
//wp_enqueue_style( 'stylesheet_name' );
}
}
add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' );
例:*追加のCSSはありません
http://whatsq.com/category/gst16/
*上記のカテゴリのみの背景付きの追加のCSS
http://whatsq.com/information-technology/shopping-information-technology/mothers-day-gift-plan-show-mom-the-love-with-flowers-and-もっと/