শর্তসাপেক্ষে কীভাবে কেবল নির্দিষ্ট পৃষ্ঠাগুলির জন্য স্টাইলশিট সজ্জিত করা যায়?


11

আমি শুরু করার আগে, আমি স্বীকার করতে চাই যে এখানে কিছু সত্যই ভাল নিবন্ধ রয়েছে যা কীভাবে শর্তাধীন পৃষ্ঠা / পোস্টের সামগ্রীর উপর ভিত্তি করে স্ক্রিপ্টগুলিকে সজ্জিত করা যায় তা লক্ষ্য করে লক্ষ্য করা যায়।

এগুলি দুর্দান্ত, তবে তারা যা করতে চাই তার চেয়ে অনেক বেশি অগ্রসর।

আমার মনে হচ্ছে উত্তরটি অন্তর্নির্মিত is_page()ফাংশন ( কোডেক্স ) ব্যবহার করছে, কিন্তু যখন আমি এটি ব্যবহার করার চেষ্টা করি তখন সাইটটি ব্রেক হয়, বা ঠিক কাজ করে না।

আমি মনে করি আমি কেবলমাত্র সঠিক জায়গায় শর্তযুক্ত যুক্তি সম্পাদন করছি।

আমি আমার ফাংশনগুলিতে যা যুক্ত করার চেষ্টা করেছি তা এখানে রয়েছে ph

function wpse39130_register_more_stylesheets() {
    wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' );
}
add_action( 'init', 'wpse39130_register_more_stylesheets' );

function wpse39130_conditionally_enqueue_my_stylesheet() {
    // only enqueue on product-services page slug
    if ( is_page( 'products-services' ) ) {
        wp_enqueue_style( 'stylesheet_name' );
    }
}
add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' );

আমি যখন এর শর্তসাপেক্ষ অংশটি সরিয়ে ফেলি, তখন স্টাইলশীটটি সফলভাবে সজ্জিত হয় তাই আমি জানি যে এটি কাজ করে।


আসলে আমি আপনার কোড এবং এর কাজটি পুরোপুরি
দৃ

উত্তর:


4

আমি আপনার কোডটি আমার দেব পরিবেশে আটকিয়েছি, পৃষ্ঠার নাম ব্যতীত আর কিছুই পরিবর্তন করেছি, এবং এটি ঠিক কাজ করে। আপনি কি নিশ্চিত যে এটি সজ্জিত করা হচ্ছে না এবং আপনি কেবল এটি ভুল নির্দেশ করেছেন বা পৃষ্ঠাটির নাম ভুলভাবে বা কিছু দেওয়া হয়নি?


1
ধন্যবাদ, এটি কাজ করে! আমি জানি না কেন আগে এটি কাজ করছিল না। আমার মনে হয় আজব জিনিসগুলি ঘটেছে। আশা করি এটি অন্য কারও কাজে আসবে।
ইভান ম্যাটসন

2

আপনি যা পেয়েছেন তা সঠিক - আপনি কেবল এটি ভুল ক্রিয়াতে আঁকছেন। "Init" এর পরিবর্তে "wp" ক্রিয়াটি চেষ্টা করুন। যখন init চলবে, is_page () এখনও সঠিকভাবে কাজ করবে না।

সম্পাদনা: আমি ভুল আমি ভেবেছিলাম আপনি অ্যাড_মি_ স্টাইলশিটটি ইনডিকে আঁকিয়েছেন, কিন্তু আপনি তা করেন না। is_page এ এনিকিউ_স্ক্রিপ্ট ক্রিয়া থেকে কাজ করা উচিত। দুঃখিত ... চালিয়ে যান ...


-1

আমি একই কোডটি অনুসরণ করার চেষ্টা করছিলাম এবং দেখতে পাচ্ছিলাম যে আমি একই ফলাফল পেতে পারি কিনা, যা আমি লক্ষ্য করেছি is_page () প্রত্যাশার মতো কাজ করে না। সুতরাং আমি গ্লোবাল ভেরিয়েবল $ পোস্টটি অনুসরণ করেছি এবং বিভাগটির নাম / স্লাগ এবং পরবর্তীটি ক্রিয়াটি নির্ধারণের জন্য সহজ পাঠ্যের তুলনায় চেক করেছি।

    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 
}

বিভাগের মান যদি এর কেবল একটি বিভাগ (উপশ্রেণী নয়) হয়

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' );

উদাহরণ: * কোনও অতিরিক্ত সিএসএস নেই http://whatsq.com/category/gst16/

উপরে বিভাগ থেকে পটভূমি সহ * অতিরিক্ত সিএসএস শুধুমাত্র http://whatsq.com/information-technology/shopping-information-technology/mothers-day-gift-plan-show-mom-the-love-with-flowers-and- এবং-আরো /


আমি কি একটি প্রশ্ন জিজ্ঞাসা করেছি? এটি বর্তমান বিষয়টির জন্য আমার উত্তর। যা বিস্তারিতভাবে বেশি।
Piclaunch এস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.