ট্র্যাশ এবং পাবলিশ বোতামে সরানো ব্যতীত কীভাবে পাবলিশ মেটাবক্সে সমস্ত কিছু লুকানো যায়


10

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

আমি কেবলমাত্র বিকল্পগুলি দেখাতে চাই তা হ'ল পাবলিশ এবং ট্র্যাশ বোতামে সরান।

এই অন্যান্য বিকল্পগুলি আড়াল করার কোনও উপায় আছে? যদি তা না হয় তবে কীভাবে আমি একটি নতুন পাবলিশ তৈরি করব এবং ট্র্যাশে সরান যা আমি একটি নতুন মেটাবক্সে যুক্ত করতে পারি?

উত্তর:


14

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

function hide_publishing_actions(){
        $my_post_type = 'POST_TYPE';
        global $post;
        if($post->post_type == $my_post_type){
            echo '
                <style type="text/css">
                    #misc-publishing-actions,
                    #minor-publishing-actions{
                        display:none;
                    }
                </style>
            ';
        }
}
add_action('admin_head-post.php', 'hide_publishing_actions');
add_action('admin_head-post-new.php', 'hide_publishing_actions');

ব্রায়ান - দ্রুত প্রতিক্রিয়া জন্য ধন্যবাদ। আমি কাস্টম পোস্ট ধরণের (পরিচিতি) নামের সাথে 'POST_TYPE' প্রতিস্থাপন করে ফাংশনটি চেষ্টা করেছি, তবে আমি যখন নতুন পৃষ্ঠাগুলি সম্পাদনা / সংযোজন করতে যাব তখন কিছুই সরানো হবে না।
কাটেমারেট

আমার সর্বশেষ সম্পাদনাটি দেখুন। এটি সমস্যার সমাধান করা উচিত। :)
ব্রায়ান ফেগার

এটি উজ্জ্বল - এটি প্রদর্শন করতে চাই না এমন জিনিসগুলি সরানোর জন্য এটি একটি সম্পূর্ণ নতুন পথ উন্মুক্ত করেছে !! তোমাকে অনেক ধন্যবাদ.
কাটেমারেট

সাহায্য করতে পেরে আনন্দিত :)
ব্রায়ান ফেগার

1
কেবল এটি উল্লেখ করার জন্য: আপনি কেবল কোডের if ( $post->post_type != $my_post_type ){ return; }শুরুতে কেবল নিজের কোডের জন্য ইন্ডেন্টেশন সরিয়ে ফেলতে পারেন । আপনার কোডের সম্পূর্ণতার ifবিবৃতিতে মোড়ানো দরকার নেই ।
পিট

1

এই উদাহরণে আপনি সহজেই কোন পোস্ট প্রকারের উপর প্রকাশের বিকল্পগুলি গোপন করতে চান তা সেট করতে পারেন, উদাহরণটি বিল্ড-ইন পট টাইপ pageএবং কাস্টম পোস্টের ধরণের জন্য তাদের লুকিয়ে রাখে cpt_portfolio

/**
 * Hides with CSS the publishing options for the types page and cpt_portfolio
 */
function wpse_36118_hide_minor_publishing() {
    $screen = get_current_screen();
    if( in_array( $screen->id, array( 'page', 'cpt_portfolio' ) ) ) {
        echo '<style>#minor-publishing { display: none; }</style>';
    }
}

// Hook to admin_head for the CSS to be applied earlier
add_action( 'admin_head', 'wpse_36118_hide_minor_publishing' );

গুরুত্বপূর্ণ আপডেট

খসড়া হিসাবে পোস্টগুলি সংরক্ষণ এড়ানোর জন্য আপনাকে "প্রকাশিত" এর একটি পোস্টের স্থিতি জোর করার পরামর্শ দিচ্ছি:

/**
 * Sets the post status to published
 */
function wpse_36118_force_published( $post ) {
    if( 'trash' !== $post[ 'post_status' ] ) { /* We still want to use the trash */
        if( in_array( $post[ 'post_type' ], array( 'page', 'cpt_portfolio' ) ) ) {
            $post['post_status'] = 'publish';
        }
        return $post;
    }
}

// Hook to wp_insert_post_data
add_filter( 'wp_insert_post_data', 'wpse_36118_force_published' );
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.