2013-03-25 8 views
10

मेरा वर्डप्रेस इंस्टॉल में तीन पोस्ट प्रकार हैं: पेज, पोस्ट और पोर्टफोलियो।बस पोस्ट के लिए वर्डप्रेस कस्टम पर्मलिंक

  • पेज: example.com/page-name,
  • पद प्रविष्टि पृष्ठ: example.com/blog,
  • व्यक्ति पद: example.com/post-name,
  • पोर्टफोलियो प्रविष्टि पृष्ठ: example.com/portfolio,
  • व्यक्तिगत पोर्टफोलियो वर्तमान संरचना इस प्रकार है पोस्ट: example.com/portfolio/portfolio-name

जो चीज़ मैं बदलना चाहता हूं वह व्यक्तिगत पोस्ट परमालिंक है, लेकिन कुछ भी नहीं। मैं इसे example.com/blog/post-name बनना चाहता हूं।

मुझे दस्तावेज नहीं मिल रहे हैं जो दिखाता है कि अन्य प्रकारों को प्रभावित किए बिना इस बदलाव को कैसे बनाया जाए।

संपादित: मेरे वर्तमान स्थायी लिंक संरचना /%postname%/ होने के लिए सेट किया गया है, और सेटिंग्स पढ़ना के तहत, मेरी पोस्ट पेज ब्लॉग को तैयार है।

register_post_type('portfolio', array( 
'label' => 'Portfolio Items', 
'description' => '', 
'public' => true, 
'show_ui' => true, 
'show_in_menu' => true, 
'capability_type' => 'post', 
'hierarchical' => true, 
'rewrite' => array('slug' => 'portfolio'), 
'with_front' => false, 
'query_var' => false, 
'has_archive' => true, 
'exclude_from_search' => false, 
'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'), 
'taxonomies' => array('category','post_tag'), 
'labels' => array (
    'name' => 'Portfolio Items', 
    'singular_name' => 'Portfolio Item', 
    'menu_name' => 'Portfolio Items', 
    'add_new' => 'Add Portfolio Item', 
    'add_new_item' => 'Add New Portfolio Item', 
    'edit' => 'Edit', 
    'edit_item' => 'Edit Portfolio Item', 
    'new_item' => 'New Portfolio Item', 
    'view' => 'View Portfolio Item', 
    'view_item' => 'View Portfolio Item', 
    'search_items' => 'Search Portfolio Items', 
    'not_found' => 'No Portfolio Items Found', 
    'not_found_in_trash' => 'No Portfolio Items Found in Trash', 
    'parent' => 'Parent Portfolio Item', 
) 
)); 

उत्तर

33

आप बस /blog/%postname%/ स्थापित करने के लिए अपने पर्मालिंक्स संरचना के रूप में, यह अपने पृष्ठों पर्मालिंक्स परिवर्तन नहीं होगा है।

और अपने पोर्टफोलियो परमालिंक रखने के लिए, आपको with_front से false पर सेट करना चाहिए जब आप इस पोस्ट प्रकार को पंजीकृत करते हैं।

'with_front' => bool क्या पैरास्ट्रक्चर को फ्रंट बेस के साथ प्रीपेड किया जाना चाहिए। (उदाहरण: यदि आपकी परमालिंक संरचना /blog/ है, तो आपके लिंक होंगे: false->/news/, true->/blog/news/)। सही

संपादित करें 1: आपको इसके बाद शायद flush Wordpress rewrite rules होना चाहिए।

संपादित करें 2: with_front परम एक rewrite परम है:

'rewrite' => array('slug' => 'portfolio', 'with_front' => false), 
+0

ठीक है, तो यह ज्यादातर काम किया। ब्लॉग लिस्टिंग और व्यक्तिगत ब्लॉग पेज सही हैं। पोर्टफोलियो सूची पृष्ठ और व्यक्तिगत पृष्ठों में/ब्लॉग/जो सही नहीं है। शेष समस्या यह है: जब मैं अपने पोर्टफोलियो सूची पृष्ठ पर जाता हूं, तो उस आइटम के शीर्षक पर जाने के लिए आइटम के शीर्षक पर क्लिक करें, यह example.com/blog/portfolio/porfolio-item पर जाने का प्रयास करता है -title example.com/portfolio/portfolio-item-title – frogg3862

+0

के सही यूआरएल पर जाने के बजाय क्या आपने मेरे उत्तर में वर्णित अनुसार अपना पोस्ट प्रकार सही तरीके से पंजीकृत किया था? आपको वर्डप्रेस रीराइट नियमों को भी फ्लश करना चाहिए। – soju

+0

हां, मैंने पोस्ट प्रकार पंजीकृत किया था जिसे आपने इसका वर्णन किया था। मैं अभी पुनः लिखने के नियमों को फहराया। सभी ब्लॉग पेज ठीक हैं, लेकिन पोर्टफोलियो एक बार फिर/ब्लॉग/ – frogg3862

संबंधित मुद्दे