আমি সবেমাত্র একটি পোস্ট টাইপ "এপিসোডস" এবং একটি পোস্টের ধরণের "কার্টুন-সিরিজ" এর মধ্যে একটি পোস্ট / পিতামাতার সম্পর্ক স্থাপন করেছি।
আমি এই বিট কোডটি অন্য পোস্টের প্রকার থেকে পিতামাতাকে নিয়োগের জন্য মেটা বাক্সে যুক্ত করতে ব্যবহার করেছি:
add_action('admin_menu', function() {
remove_meta_box('pageparentdiv', 'episodes', 'normal');
});
add_action('add_meta_boxes', function() {
add_meta_box('episodes-parent', 'Cartoon Series', 'episodes_attributes_meta_box', 'episodes', 'side', 'default');
});
function episodes_attributes_meta_box($post) {
$post_type_object = get_post_type_object($post->post_type);
if ( $post_type_object->hierarchical ) {
$pages = wp_dropdown_pages(array('post_type' => 'cartoon-series', 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('(no parent)'), 'sort_column'=> 'menu_order, post_title', 'echo' => 0));
if ( ! empty($pages) ) {
echo $pages;
} // end empty pages check
} // end hierarchical check.
}
এটি পর্বে অভিভাবক হিসাবে আমাকে সিরিজটি সেট করার অনুমতি দেওয়ার জন্য অ্যাডমিন স্ক্রিনে কাজ করেছে, কিন্তু যখন আমি পোস্টটি দেখার চেষ্টা করি তখন আমি একটি 404 পাই The ইউআরএল কাঠামোটি হ'ল:
domain/episodes/series-name/episode-name
সিরিজের url হ'ল:
domain/cartoon-series/series-name
আমি পর্বটির url চাই:
domain/cartoon-series/series-name/episode-name
আমি কী মিস করছি? পুরো পোস্ট টাইপ করা অন্য পোস্ট টাইপের সন্তানের পক্ষে তৈরি করা কি সম্ভব? সুতরাং, আমি এমনকি পর্বগুলির তালিকাটির url পেতে পারি:
domain/cartoon-series/series-name/episodes
ধন্যবাদ! ঔজ্বল্যহীন
অনুরোধ হিসাবে, প্রশ্নে দুটি কাস্টম পোস্ট ধরণের কোড এখানে:
$labels = array(
"name" => "Cartoon Series",
"singular_name" => "Cartoon Series",
"menu_name" => "Cartoon Series",
"all_items" => "All Cartoon Series",
"add_new" => "Add New",
"add_new_item" => "Add New Cartoon Series",
"edit" => "Edit",
"edit_item" => "Edit Cartoon Series",
"new_item" => "New Cartoon Series",
"view" => "View",
"view_item" => "View Cartoon Series",
"search_items" => "Search Cartoon Series",
"not_found" => "No Cartoon Series Found",
"not_found_in_trash" => "No Cartoon Series Found in Trash",
"parent" => "Parent Cartoon Series",
);
$args = array(
"labels" => $labels,
"description" => "",
"public" => true,
"show_ui" => true,
"has_archive" => true,
"show_in_menu" => true,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => true,
"rewrite" => array( "slug" => "cartoon-series", "with_front" => true ),
"query_var" => true,
"supports" => array( "title", "revisions", "thumbnail" ), );
register_post_type( "cartoon-series", $args );
$labels = array(
"name" => "Episodes",
"singular_name" => "Episode",
);
$args = array(
"labels" => $labels,
"description" => "",
"public" => true,
"show_ui" => true,
"has_archive" => true,
"show_in_menu" => true,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => true,
"rewrite" => array( "slug" => "episodes", "with_front" => true ),
"query_var" => true,
"supports" => array( "title", "revisions", "thumbnail" ), );
register_post_type( "episodes", $args );
আমি সিপিটি ইউআই প্লাগইন ব্যবহার করছি, তাই আমি সেই কোডটি সরাসরি সম্পাদনা করতে পারি না। এটি কেবল এক্সপোর্ট কোড সিপিটি ইউআই সরবরাহ করে।
আমার কাছে অন্য কোনও কোড নেই যা দুটি সিপিটি সংযুক্ত করে। হয়তো এটাই আমি মিস করছি। আমি সবেমাত্র সেই কোডটি অনলাইনে পেয়েছি যা লিঙ্কটি করতে পৃষ্ঠায় মেটাবক্স স্থাপন করে। কাজটা কি যথেষ্ট নয়? দেখে মনে হচ্ছে এটি পোস্ট_পিতা সেট করে।
ধন্যবাদ! ঔজ্বল্যহীন
pre_get_posts
কোনও সাফল্য ছাড়াই ক্যোয়ারীটি পরিবর্তন করতে চেষ্টা করেছি , আরও জটিল কিছু জড়িত রয়েছে যা আমি বুঝতে সক্ষম হইনি। বিড়াল থাকা যেমন কুকুরের পিতা বা মাতা হয়। আমি কেবলমাত্র একটি শ্রেণিবদ্ধ পোস্ট প্রকার ব্যবহার করার বা মেটা ক্ষেত্রগুলি ব্যবহার করে রিয়েলশনশিপ সেট করার পরামর্শ দিচ্ছি ।
parent_id
ক্যোয়ারী ভেরি ব্যবহার করে এবং সম্পর্ক স্থাপনের জন্য কোডের বেশি প্রয়োজন হয় না। সমস্যাটি হ'ল উত্পন্ন URL টি ওয়ার্ডপ্রেস দ্বারা স্বীকৃত নয়। আমি পুনর্লিখনের নিয়মটি সন্ধান করার চেষ্টা করেছি যা এটি কার্যকর হয় তবে আমার সফলতা হয়নি। আমি এখন একটি সমাধান তদন্ত করছি।