কোনও পৃষ্ঠা শ্রেণিবিন্যাসে একটি কাস্টম পোস্ট প্রকারকে সংহত করা


14

আমি টিম সদস্যদের জন্য একটি কাস্টম পোস্ট ধরণের সাথে একটি থিম তৈরি করছি, আমি নিম্নলিখিত পৃষ্ঠার কাঠামোটি পেয়েছি:

about  <-- this is a page
about/team-members  <-- this is a page, lists all the team members
about/team-members/joe-bloggs  <-- this is a custom post type (team member) entry

এখানে তৃতীয় কাঠামো সম্পর্কে এবং দলের সদস্য পৃষ্ঠাগুলি ব্যবহার করে তবে এটি পিতামাতার দল সদস্য এবং এর মতো দেখতে কাস্টম পোস্ট টাইপ স্লাগ ব্যবহার করে। আমি কাস্টম পোস্ট ধরণের উপরের বিকল্পগুলি সেট করে এটি অর্জন করেছি:

...
'rewrite' => array( 'slug' => 'about/team-members', 'with_front' => false)
...

এটি দুর্দান্ত কাজ করে, তবে আমি যখন টিম সদস্যের পোস্টের স্তরে নামি আমি পিতামাত্ত পৃষ্ঠাগুলিতে বর্তমান পৃষ্ঠা, বর্তমান-পূর্বপুরুষের ক্লাস আর পাই না। আমি জানি কেন এটি, কারণ আমরা প্রযুক্তিগতভাবে এই পৃষ্ঠাগুলির পেজ প্যারেন্টে নেই, তবে কী উপায় আছে যে আমি কৌশলগুলি ঠিক করতে / ঠিক করতে / বজ করতে পারি যাতে পৃষ্ঠাগুলি পিতা-মাতার হয়ে দেখা দেয়?

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

ধন্যবাদ ছেলেরা + মেয়েরা!


আপনার টিম-সদস্যের পৃষ্ঠা আইডিটি আপনার কাস্টম পোস্টের ধরণের পোস্ট_প্যারেন্ট হিসাবে সেট করা দরকার।
বেন্টারনেট

register_post_typeডকুমেন্টেশনে আমি এই বিকল্পটি দেখতে পাচ্ছি না , আপনি কি সহায়তা করতে পারেন?
বেন ইভারার্ড

উত্তর:


6

পৃষ্ঠাগুলির সাথে কাজ করার সময় আপনি একটি পিতামাতার পৃষ্ঠা নির্বাচন করতে পারেন এবং সেই মানটি post_parentডেটাবেজে শিশু পৃষ্ঠার ক্ষেত্রের পিতামাতার পৃষ্ঠা নম্বর হিসাবে সংরক্ষণ করা হয় ।

আপনার ক্ষেত্রে, আপনি একটি কাস্টম পোস্ট প্রকার ব্যবহার করছেন যাতে আপনার প্যারেন্ট পৃষ্ঠার জন্য আপনার নিজস্ব মেটাবক্স তৈরি করতে হবে; কিছুটা এইরকম:

/* Define the custom box */
add_action('add_meta_boxes', 'child_cpt_add_custom_box');

/* Adds a box to the main column on the custom post type edit screens */
function child_cpt_add_custom_box() {
    add_meta_box('child_cpt', __( 'My child_cpt parent'),'team_member_inner_custom_box','team_member');
}

/* Prints the box content */
function team_member_inner_custom_box() {
    global $post;
    // Use nonce for verification
    wp_nonce_field( plugin_basename(__FILE__), 'team_member_inner_custom_box' );
    echo 'Select the parent page';
    $mypages = get_pages();
    echo '<select name="cpt_parent">';
    foreach($mypages as $page){     
        echo '<option value="'.$page->ID.'"';
        if ($page->ID == $post->post_parent) {echo ' selected';}
        echo '>"'.$page->post_title.'</option>';
    }
    echo '</select>';
}
/* Do something with the data entered */
add_action('wp_insert_post_data', 'myplugin_save_postdata');

/* When the post is saved, saves our custom data */
function myplugin_save_postdata( $data, $postarr ) {
    global $post;
      // verify this came from the our screen and with proper authorization,
      // because save_post can be triggered at other times

      if ( !wp_verify_nonce( $_POST['team_member_inner_custom_box'], plugin_basename(__FILE__) ) )
          return $data;

      // verify if this is an auto save routine. 
      // If it is our form has not been submitted, so we dont want to do anything
      if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) 
          return $data;
      // OK, we're authenticated: we need to find and save the data

      if ($post->post_type == "team_member")
          $data['post_parent'] = $_POST['cpt_parent'];

     return $data;
}

এর সাথে কিছু করার নেই register_post_type। আপনি ওয়ার্ডপ্রেসকে ট্রিক করে এই ভেবেছিলেন যে এটি অন্য পোস্ট টাইপের (পৃষ্ঠা) একটি শিশু পৃষ্ঠা।


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

1
আমি এটি আমার স্লাগ / পারমলিংক কাঠামোর সাথেও গণ্ডগোল লক্ষ্য করেছি ...: এস
বেন এভার্ডার্ড

2
আমি বেনের মতো একই জিনিসটি অর্জন করার চেষ্টা করছি তবে আমি ব্যবহার করি wp_nav_menu- পোস্ট_প্যারেন্টটি / টিম-সদস্যদের সম্পর্কে তবে নেভিগেশন আমার "সাধারণ" ব্লগ পোস্টগুলির প্যারেন্ট আইটেমটি হাইলাইট করে ... অন্য কোনও ধারণা কীভাবে আমি এটি ঠিক করতে পারি?
পিকেইক

@ বেএনএভার্ড: পারমালিঙ্ক স্ট্রাকচার জগাখিচির জন্য আপনি কি কোনও সমাধান খুঁজে পেয়েছেন?
abaumg

0

আমি অনুরূপ কিছু অর্জনের জন্য কাস্টম ওয়াকারের সাথে গিয়েছিলাম ... কাস্টম ক্ষেত্রগুলির জন্য প্রয়োজনীয়তা এড়ানো হয়, তবে কোনও ধরণের সমস্ত পোস্টকে পৃষ্ঠা ট্রিতে একই পয়েন্টের নীচে বসে থাকতে হয়।

class Walker_Page_CustomPostTypeHack extends Walker_Page {
    function walk($elements, $max_depth) {
        $called_with = func_get_args();
        // current page is arg 3... see walk_page_tree for why
        $current_page = $called_with[3];

        // if there's no parent - see if we can find one.
        // some ACF options would be an easy way to make this configurable instad of constants
        if ($current_page === 0) {
            global $wp_query;
            $current_post = $wp_query->get_queried_object();
            switch ($current_post->post_type) {
                case 'course':
                    $current_page = POST_COURSES;
                    break;
                case 'project':
                    $current_page = POST_PROJECTS;
                    break;
                case 'story':
                    $current_page = POST_STORIES;
                    break;
            }
        }

        // now pass on into parent
        $called_with[3] = $current_page;
        return call_user_func_array(array('parent', 'walk'), $called_with);
    }

}

0

দাবি অস্বীকার: চেষ্টা করার পরে এটি আমার কাছে দীর্ঘস্থায়ী সমস্যা বলে মনে হচ্ছে, কারণ - আমার পক্ষে কমপক্ষে - এটি কেবল আমার ডাব্লুপি 3.9.2 ইনস্টলেশনে কাজ করে। তবুও কোনও ত্রুটিযুক্ত ট্র্যাকার সন্ধান করতে পারেনি।


এটি পরীক্ষা করার জন্য আমার সাথে একটি ছোট প্লাগইন রয়েছে, যা কারওর পক্ষে সহায়তা করতে পারে। তবে আমি উপরের দাবিটি অস্বীকার করার মতো বলেছি, বর্তমান ওয়ার্ডপ্রেস ইনস্টলেশনতে আমি সমস্যাটি পুনরুত্পাদন করতে পারিনি। আমি প্লাগইনটিকে চারটি ফাইলে বিভক্ত করেছি, তারা একসাথে প্লাগইন ডিরেক্টরিতে একটি ডিরেক্টরিতে যাচ্ছেন।

প্লাগ-ইন-cpt_menu_hierarchy.php :

<?php
defined( 'ABSPATH' ) OR exit;
/**
 * Plugin Name: CPT Menu Hierarchy Fix?
 * Description: CPT Menu Hierarchy Fix?
 * Author:      ialocin
 * Author URL:  http://wordpress.stackexchange.com/users/22534/ialocin
 * Plugin URL:  http://wordpress.stackexchange.com/q/13308/22534
 */

// registering nonsense post type
include 'include-register_post_type.php';

// adding meta box to nosense custom post type
include 'include-cpt_parent_meta_box.php';

// menu highlighting fix
include 'include-menu_highlighting.php';

অন্তর্ভুক্ত-register_post_type.php :

<?php
defined( 'ABSPATH' ) OR exit;

// See: http://codex.wordpress.org/Function_Reference/register_post_type
add_action( 'init', 'wpse13308_basic_reigister_post_type');
function wpse13308_basic_reigister_post_type() {
    $args = array(
        'public' => true,
        'label'  => 'Nonsense'
    );
    register_post_type( 'nonsense', $args );
}

অন্তর্ভুক্ত-cpt_parent_meta_box.php :

<?php
defined( 'ABSPATH' ) OR exit;

// pretty much like @bainternet's answer

// Add Meta Box
add_action( 'add_meta_boxes', 'nonsense_add_meta_box' );
function nonsense_add_meta_box() {
    add_meta_box(
        'nonsense',
        __( 'Nonsense parent' ),
        'nonsense_inner_meta_box',
        'nonsense'
    );
}

// Meta Box Content
function nonsense_inner_meta_box() {
    global $post;

    wp_nonce_field(
        plugin_basename( __FILE__ ),
        'nonsense_inner_meta_box'
    );
    echo 'Parent Page:&nbsp;&nbsp;';
    $mypages = get_pages();
    echo '<select name="cpt_parent">';
    foreach($mypages as $page){     
        echo '<option value="'.$page->ID.'"';
        if ($page->ID == $post->post_parent) {echo ' selected';}
        echo '>'.$page->post_title.'</option>';
    }
    echo '</select>';
}

// Save Data From Meta Box
add_action( 'wp_insert_post_data', 'nonsense_save_meta_box_data' );
function nonsense_save_meta_box_data( $data, $postarr ) {
    global $post;

    if (
        ! wp_verify_nonce(
            $_POST['nonsense_inner_meta_box'],
            plugin_basename( __FILE__ )
        )
    ) {
        return $data;
    }

    if (
        defined('DOING_AUTOSAVE')
        && DOING_AUTOSAVE
    ) {
        return $data;
    }

    if ( $post->post_type == 'nonsense' ) {
        $data['post_parent'] = $_POST['cpt_parent'];
    }
    return $data;
}

অন্তর্ভুক্ত-মেনু_উত্তর আলো ..pp :

<?php
defined( 'ABSPATH' ) OR exit;

// altering WordPress' nav menu classes via »nav_menu_css_class« filter
add_filter( 'nav_menu_css_class', 'wpse13308_fix_nav_menu_highlighting', 10, 2 );
function wpse13308_fix_nav_menu_highlighting( $classes, $item ) {
    // data of the current post
    global $post;

    // setting up some data from the current post
    $current_post_post_type = $post->post_type;
    $current_post_parent_id = $post->post_parent;
    // id of the post the current menu item represents
    $current_menu_item_id   = $item->object_id;

    // do this for a certain post type
    if( $current_post_post_type == 'nonsense' ) {
        // remove unwanted highlighting class via array_filter and callback
        // http://php.net/manual/de/function.array-filter.php
        $classes = array_filter(
            $classes,
            'wpse13308_remove_highlighting_classes'
        );
        // when the parents id equals the menu items id, we want to
        // highlight the parent menu item, so we check for:
        if( $current_post_parent_id == $current_menu_item_id ) {
            // use the css class used for highlighting
            $classes[] = 'replace-with-css-class';
        }
    }
    return $classes;
}

// callback to remove highlighting classes
function wpse13308_remove_highlighting_classes( $class ) {
    return
        (
            // use the class(es) you need, overview over nav menu item css classes:
            // http://codex.wordpress.org/Function_Reference/wp_nav_menu#Menu_Item_CSS_Classes
            $class == 'highlight-class'
            // uncomment next line if you want to check for more then one class
            // repeat the line if you want to check for a third, fourth and so on
            // || $class == 'replace-with-css-class'
        ) 
        ? false
        : true
    ;
}



  • এটি কিছুটা সাধারণীকরণের উদাহরণ।
  • এটি আসল ব্যবহারের ক্ষেত্রে ফিট করতে হবে।

0

একটি সম্ভাব্য সমাধান হ'ল যখনই কাস্টম পোস্ট প্রকারটি সংরক্ষণ করা হয়, আপনি এর 'পিতামাতারকে about/team-membersঅগ্রণীত হিসাবে সেট করতে পারেন ।

পদক্ষেপ এখানে:

  1. আপনি যখনই কোনও পোস্ট সংরক্ষণ করার চেষ্টা করবেন তখন আপনি 'ধরা' তে সেভ_পোস্ট হুক ব্যবহার করতে পারেন ।
  2. যদি সেই পোস্টটি আপনার পরে থাকা কাস্টম পোস্ট ধরণের হয় তবে এগিয়ে যান।
  3. আপনার পছন্দসই পৃষ্ঠায় কাস্টম পোস্টের পিতামাতাকে সেট করার বিষয়টি নিশ্চিত করুন (আপনি পৃষ্ঠার আইডি যতক্ষণ না মুছবেন ততক্ষণ আপনি হার্ড-কোড করতে পারেন)। পিতামাতাকে বাঁচাতে আপনি wp_update_post ব্যবহার করতে পারেন (আমি এটি নিজে চেষ্টা করে দেখিনি, তবে কেন এটি কাজ করা উচিত নয় তা দেখতে পাচ্ছি না)।

আমি এর জন্য কিছু কোড দেখতে চাই! এটি নিখুঁত হবে তবে আমি এটি মাইএসেফের সাথে কাজ করতে পারছি না।
জোহান দহল

0

এটিকে খনন করার জন্য আমার আরও কিছুটা সময় ছিল (দুঃখিত আমি যদি কারও সময় নষ্ট করি তবে), এবং আমি বুঝতে পেরেছিলাম যে আমার জন্য, হাইলাইটিং সমস্যার সমাধান করার সবচেয়ে ভাল উপায় _wp_menu_item_classes_by_context()হ'ল কি করছে যা পুনরায় করণীয়, যা সবার উপরে পুনরাবৃত্তি হয় is মেনু আইটেমের পিতামাতা এবং পূর্বপুরুষরা যা আমার কাস্টম পোস্টের ধরণের পিতামাতার ভূমিকা পালন করে এবং যথাযথভাবে ক্লাস যুক্ত করে।

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

আমার প্রয়োজনের জন্য আমি wp_nav_menu_objectsফিল্টারটি ব্যবহার করতে পারি । অতিরিক্তভাবে আমাকে অপশনটি ফিল্টার করতে হয়েছিলpage_for_posts যাতে এটি একটি মিথ্যা / খালি মান ফেরায়, এটি ডিফল্ট পোস্ট পৃষ্ঠাটিকেও হাইলাইট করা এড়িয়ে যায়।

নোট করুন যে আমি সমস্ত পথে যাই নি, ফিল্টারটি কেবলমাত্র current-menu-ancestorএবং current-menu-parentক্লাসগুলি যুক্ত করে, কারণ এটি আমার প্রয়োজনের জন্য যথেষ্ট ছিল!

/**
 * Filters the `page_for_posts` option on specific custom post types in
 * order to avoid the wrong menu item being marked as
 * `current-page-parent`.
 *
 * @see _wp_menu_item_classes_by_context()
 */
function wpse13308_pre_option_page_for_posts_filter()
{
    $types = array
    (
        'my_custom_post_type_x',
        'my_custom_post_type_y',
        'my_custom_post_type_z'
    );
    if(in_array(get_post_type(), $types))
    {
        return 0;
    }
    return false;
}
add_filter('pre_option_page_for_posts', 'wpse13308_pre_option_page_for_posts_filter');


/**
 * Returns the current posts parent page ID
 *
 * @return int
 */
function wpse13308_get_parent_page_id()
{
    $postType = get_post_type();
    $parentPageId = null;
    switch($postType)
    {
        case 'my_custom_post_type_x':
        case 'my_custom_post_type_y':
        case 'my_custom_post_type_z':
            $parentPageId = (int)get_field('page_for_' . $postType, 'options')->ID;
            break;

        case 'post':
            $parentPageId = (int)get_option('page_for_posts');
            break;
    }
    return $parentPageId;
}

/**
 * Adds proper context based classes so that the parent menu items are
 * being highlighted properly for custom post types and regular posts.
 *
 * @param array $menuItems
 * @return array
 *
 * @see _wp_menu_item_classes_by_context()
 */
function wpse13308_wp_nav_menu_objects_filter(array $menuItems)
{
    $parentPageId = wpse13308_get_parent_page_id();

    if($parentPageId !== null)
    {
        $activeAncestorItemIds = array();
        $activeParentItemIds = array();
        foreach($menuItems as $menuItem)
        {
            if((int)$parentPageId === (int)$menuItem->object_id)
            {
                $ancestorId = (int)$menuItem->db_id;

                while
                (
                    ($ancestorId = (int)get_post_meta($ancestorId, '_menu_item_menu_item_parent', true)) &&
                    !in_array($ancestorId, $activeAncestorItemIds)
                )
                {
                    $activeAncestorItemIds[] = $ancestorId;
                }
                $activeParentItemIds[] = (int)$menuItem->db_id;
            }
        }
        $activeAncestorItemIds = array_filter(array_unique($activeAncestorItemIds));
        $activeParentItemIds = array_filter(array_unique($activeParentItemIds));

        foreach($menuItems as $key => $menuItem)
        {
            $classes = $menuItems[$key]->classes;
            if(in_array(intval($menuItem->db_id), $activeAncestorItemIds))
            {
                $classes[] = 'current-menu-ancestor';
                $menuItems[$key]->current_item_ancestor = true;
            }

            if(in_array($menuItem->db_id, $activeParentItemIds))
            {
                $classes[] = 'current-menu-parent';
                $menuItems[$key]->current_item_parent = true;
            }

            $menuItems[$key]->classes = array_unique($classes);
        }
    }

    return $menuItems;
}
add_filter('wp_nav_menu_objects', 'wpse13308_wp_nav_menu_objects_filter');

পরিপূর্ণতার স্বার্থে, যখন বিকল্পগুলি ব্যবহার না করে পপুলেটেডpost_parent ( @ বাইনার্নেটের উত্তর দেখুন ), তখন প্যারেন্ট আইডি পুনরুদ্ধার করা এরকম কিছু হতে পারে:

/**
 * Returns the current posts parent page ID
 *
 * @return int
 */
function wpse13308_get_parent_page_id()
{
    $parentPageId = null;
    $post = get_post();
    switch($post->post_type)
    {
        case 'my_custom_post_type_x':
        case 'my_custom_post_type_y':
        case 'my_custom_post_type_z':
            $parentPageId = (int)$post->post_parent;
            break;

        case 'post':
            $parentPageId = (int)get_option('page_for_posts');
            break;
    }
    return $parentPageId;
}

আপনি আমার সময় নষ্ট করেন নি :) আরেকটি জিনিস, নিশ্চিত যে এটি এখনও একটি সমস্যা আছে? কারণ আমার ডাব্লুপিপি ৩.৯.২ ইনস্টলেশনতে আমি এটি পুনরুত্পাদন করতে পারিনি। সঠিক মেনু আইটেমটি হাইলাইট করা বাক্সের বাইরে কাজ করেছে।
নিকোলাই

হ্যাঁ, এটি এখনও অবশ্যই @ialocin এর সমস্যা। এটি এমন হতে পারে যে আপনি 0 স্তরের মেনু এবং ডিফল্ট পোস্ট ধরণের মাধ্যমে এটি পরীক্ষা করছেন?
এনডিএম

না, আমার উত্তরে পোস্ট করা কোড দিয়ে এটি ব্যবহার করে দেখুন। সুতরাং একটি কাস্টম পোস্ট প্রকারের সাথে এবং অনুযায়ী পোস্টের ধরণ থেকে কোনও পৃষ্ঠায় প্রথম এবং দ্বিতীয় স্তরের মেনু আইটেম আমি এটি পরীক্ষার জন্য ওয়ার্ডপ্রেস কোর বান্ডিল থিম ব্যবহার করেছি।
নিকোলাই

@ialocin নিশ্চিত না আমি আপনাকে সঠিকভাবে বুঝতে পেরেছি কিনা, কারণ " পোস্ট করা কোড দিয়ে চেষ্টা করেছেন " এবং " বক্সের বাইরে " পারস্পরিক একচেটিয়া? ;) আপনি কি কেবলমাত্র কাস্টম পোস্ট প্রকারের উল্লেখ করছেন, হাইলাইটিং ফিক্সটি নয়?
এনডিএম

ডান :) ঠিক আছে, সুনির্দিষ্ট হওয়ার জন্য, দৃশ্যের জন্য একটি সিপিটি প্রয়োজন, অবশ্যই অবশ্যই আমি এটি নিবন্ধভুক্ত করেছি। হাইলাইটিং মেটা বক্স এবং হাইলাইটিং ফিক্স ব্যবহার না করেই কাজ করে। উদাহরণস্বরূপ মেনু কাঠামোর সাথে: দাদা-পিতা (পৃষ্ঠা)> পিতা-মাতার (পৃষ্ঠা)> কিছু (পোস্ট)> অন্য-জিনিস (সিটিপি)> একাধিক জিনিস (সিপিটি) - প্রতিটি উপাদান সঠিক সিএসএস শ্রেণি (এসএস) পায়; থিমটি এখানে তেরোটি ব্যবহার করা হয়েছে।
নিকোলাই

-1
<?php
the_post();

// $postType holds all the information of the post type of the current post you are viewing
$postType = get_post_type_object(get_post_type());

// $postSlug is the slug you defined in the rewrite column: about/team-members
$postSlug = $postType->rewrite['slug'];

// $datas = { [0] => 'about', [1] => 'team-members' }
$datas = explode('/', $postSlug);

// $pageSlug = 'about'
$pageSlug = $datas[0];

// all the page information you require.
$page = get_page_by_path($pageSlug, OBJECT, 'page');
?>

http://codex.wordpress.org/Function_References/get_post_type_object http://codex.wordpress.org/Function_References/get_page_by_path

সম্পাদনা 1:

যেহেতু পয়েন্টারগুলি কাজ করে না:

add_filter('wp_nav_menu_objects', 'my_menu_class_edit');
function my_menu_class_edit($items)
{
    if (is_single()) {
        $postType = get_post_type_object(get_post_type());
        $postSlug = $postType->rewrite['slug'];
        if($postSlug  != 'about/team-members')
            return $items;
        $datas = explode('/', $postSlug);
        $pageAbout = get_page_by_path($datas[0], OBJECT, 'page');
        $pageTeamMembers = get_page_by_path($datas[1], OBJECT, 'page');

        foreach ($items as $item) {
            if ($item->title == $pageAbout->post_title) {
                $item->classes[] = 'current-ancestor';
            } else if ($item->title == $pageTeamMembers->post_title) {
                $item->classes[] = 'current-page';
            }
        }
   }
    return $items;
}

এই নাও. এটি wp_nav_menu_objects ফিল্টার হুকের মধ্যে যুক্ত করা হয়েছে।
aifrim
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.