মূলত আমি কাস্টম পোস্টের ধরণগুলি ব্যবহার করে একটি শব্দকোষ অর্জন করতে চাই এবং আমার যেমন চাই সেভাবে পুনর্লিখনগুলি সেট আপ করার কিছু সমস্যা রয়েছে। আমি এটি চাই:
মূল শব্দকোষ URL:
http://example.com/glossary/
শব্দ A এর সাথে শুরু শব্দের সংজ্ঞা :
http://example.com/glossary/a/
একটি একক শব্দকোষের জন্য URL:
http://example.com/glossary/a/atomic/
আমি আসলে নীচের কোডটি ব্যবহার করে এটি অর্জন করেছি তবে আমি নিশ্চিত যে এটি করার একটি অত্যন্ত বিশ্রী উপায় এবং আমি জানি যে এটি কোথাও ত্রুটিযুক্ত কারণ পৃষ্ঠাগুলি দেখার সময় ভুল টেমপ্লেটগুলি বলা হয়। Http://example.com/glossary/ ব্যতীত যেখানে আর্কাইভ-সুমো-গ্লোসারি-টার্ম.এফপি প্রত্যাশিত হিসাবে ডাকা হয়, অন্য দুটি আমার থিমটিতে কেবল সূচক.এফপি সক্রিয় করে।
এখানে ( functions.php
থিম মধ্যে):
add_action('init', 'create_glossary');
function create_glossary()
{
register_post_type
(
'sumo-glossary-term',
array
(
'labels' => array
(
'name' => _x('Glossary Terms', 'post type general name'),
'singular_name' => _x('Glossary Term', 'post type singular name')
# And so on …
),
'supports' => array('title', 'editor', 'thumbnail'),
'public' => true,
'rewrite' => array
(
'slug' => 'glossary',
'with_front' => false
),
'query_var' => 'glossary-term',
'has_archive' => true
)
);
register_taxonomy
(
'sumo-glossary-letter',
'sumo-glossary-term',
array
(
'hierarchical' => true,
'labels' => array
(
'name' => _x('Letters', 'taxonomy general name'),
'singular_name' => _x('Letter', 'taxonomy singular name')
# And so one
),
'show_ui' => true,
'query_var' => 'glossary-letter',
'rewrite' => false
)
);
}
add_filter('post_type_link', 'glossary_term_permalink', 10, 4);
function glossary_term_permalink($post_link, $post, $leavename, $sample)
{
if ($post->post_type == 'sumo-glossary-term')
{
$permalink = str_replace('glossary/', 'glossary/' . $post->post_name[0] . '/', $post_link);
}
return $permalink;
}
add_rewrite_rule('^glossary/([^/]*)?$','index.php?glossary-letter=$matches[1]','top');
add_rewrite_rule('^glossary/([^/]*)/([^/]*)?$','index.php?glossary-term=$matches[2]','top');