কাস্টম পোস্টের ধরণের পার্মালিঙ্ক মুছে ফেলুন


13

আমি নিম্নলিখিত সহ পোস্ট টাইপ নিবন্ধিত করেছি -

$holidayLabels = array(
    'name' => __( 'Holidays'),
    'singular_name' => __( 'Holidays'),
    'all_items' => __( 'All Holidays'),
    'add_new' => __( 'Add New Holiday'),
    'add_new_item' => __( 'Add New Holiday'),
    'edit_item' => __( 'Edit Holiday'),
    'new_item' => __( 'New Holiday'),
    'view_item' => __( 'View Holidays'),
    'not_found' => __( 'No Holidays found'),
    'not_found_in_trash' => __( 'No Holidays found in Trash'),
    'parent_item_colon' => ''

);

$holidayArgs = array(
    'labels'               => $holidayLabels,
    'public'               => true,
    'publicly_queryable'   => true,
    '_builtin'             => false,
    'show_ui'              => true,
    'query_var'            => true,
    'rewrite'              => array( "slug" => "holidays" ),
    'capability_type'      => 'post',
    'hierarchical'         => false,
    //'menu_position'        => 6,
    'supports'             => array( 'title'),
    'has_archive'          => false,
    'show_in_nav_menus'    => false,

);
register_post_type('holidays', $holidayArgs);

এবং আমি যখন নতুন ছুটি পোস্ট করি বা বিদ্যমানটির সম্পাদনা শুরু করি তখন শিরোনামের নীচে প্রদর্শিত পার্মালিঙ্কটি সরাতে চাই। এখানে চিত্র বর্ণনা লিখুন

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


আপনি কি চান যে তাদের সংরক্ষণাগার পৃষ্ঠা রয়েছে এবং সেগুলি পারমালিঙ্ক দিয়ে অ্যাক্সেস করতে সক্ষম হবে?
ক্রিজিসিক দ্রাদ্দে

@ KrzysiekDróżdż নং। এজন্য আমি পারমালিঙ্কটি সরাতে চাই। এরকম কোনও পৃষ্ঠা উপলব্ধ নেই। ছুটির দিনগুলি উইজেটে নিজেই এবং মডেলটিতে এজ্যাক্স সহ বিশদগুলি দেখানো হবে।
শচীনগুটে

সুতরাং আপনারও পারমালিক্স, সংরক্ষণাগারগুলি, এবং অক্ষম করার বিষয়ে যত্ন নেওয়া উচিত। আমার উত্তরটি একবার দেখুন;)
ক্রিজিসিক দ্রাদ্দে

উত্তর:


41

ঠিক আছে, অন্য উপায় আছে। এবং ভাল, আমি অনুমান।

আপনি register_post_typeপরামিতি তাকানো উচিত । আপনার সম্ভবত এগুলি সেট করা উচিত:

'public' => false,  // it's not public, it shouldn't have it's own permalink, and so on
'publicly_queryable' => true,  // you should be able to query it
'show_ui' => true,  // you should be able to edit it in wp-admin
'exclude_from_search' => true,  // you should exclude it from search results
'show_in_nav_menus' => false,  // you shouldn't be able to add it to menus
'has_archive' => false,  // it shouldn't have archive page
'rewrite' => false,  // it shouldn't have rewrite rules

পোস্টের ধরণ যদি সর্বজনীন না হয় তবে আপনি সম্পাদকের এই অংশটি দেখতে পাবেন না।


ক্রিজিসেক ড্রাডি দ্বারা তৈরি উত্তরটি চেক করা, এটি কি কাস্টম ট্যাক্সনোমিতে প্রয়োগ করা যেতে পারে? পিডি: এখানে পোস্ট করার জন্য দুঃখিত, আমি একটি সহজ মন্তব্য করার মতো যথেষ্ট খ্যাতি নেই
Gendrith

1

ওয়েল, একটি দ্রুত উপায় হ'ল CSS ব্যবহার করে কেবল ধারক ডিভিভি লুকানো।

add_action('admin_head', 'wpds_custom_admin_post_css');
function wpds_custom_admin_post_css() {

    global $post_type;

    if ($post_type == 'post_type') {
        echo "<style>#edit-slug-box {display:none;}</style>";
    }
}

এটি অবশ্যই এটি করার এক উপায়। তবে আমি অ্যাডমিন ফিল্টার বা অন্য কিছুর জন্য ভাবছিলাম। তবে এটি কাজ করে এবং আপনাকে ধন্যবাদ।
শচীনগুট

1

আপনি একটি ছোট জাভাস্ক্রিপ্ট কোড admin_footerহুক করতে রেখে এই অঞ্চলটিও আড়াল করতে পারেন ।

<?php
add_action('admin_footer', function() {
  global $post_type;
  if ($post_type == 'your_custom_post_type') {
    echo '<script> document.getElementById("edit-slug-box").outerHTML = ""; </script>';
  }
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.