ডিফল্ট অ্যাডমিন স্ক্রিন অপশন এবং মেটাবক্স অর্ডার সেট করুন


28

আমি ফাংশন.এফপি ফাইলের মাধ্যমে ডিফল্ট "স্ক্রীন বিকল্পগুলি" এবং মেটাবক্স অর্ডার সেট করতে মরিয়াভাবে কিছু উপায় (যে কোনও উপায়) সন্ধান করছি। এখানে কি তারা সরবরাহ করতে পারে কারও কি কোনও সহায়তা আছে?


২০১৪ আপডেট: যাঁদের কেবল মেটা বাক্সগুলি পুনরায় অর্ডার করতে হবে তাদের নীচে নাবিলের উত্তর দেখুন
রিনোগো

উত্তর:


23

পোস্ট সম্পাদনা পৃষ্ঠাগুলিতে মেটা বাক্সগুলির ক্রম সেট করা

আপনাকে মেটা বাক্সগুলি সরিয়ে ফেলতে হবে এবং আপনার পছন্দ অনুযায়ী ক্রমগুলি যুক্ত করতে হবে।

মেটা বাক্সগুলি অক্ষম করতে: (আপনার প্রয়োজন অনুসারে কাস্টমাইজ করুন, ফাংশনগুলির প্রথম প্যারামিটার হিসাবে আপনার কোন নামটি ব্যবহার করা উচিত তা জানতে এইচটিএমএল কোডে মেটাবক্স আইডি দেখুন)

function my_remove_meta_boxes() {

    remove_meta_box('postcustom', 'post', 'core');

    remove_meta_box('commentsdiv', 'post', 'core');

    ...
}

add_action( 'admin_menu', 'my_remove_meta_boxes' );

এগুলি সরানোর পরে, আপনি তাদের নতুন অবস্থানগুলিতে যুক্ত করতে add_meta_box ফাংশনটি ব্যবহার করতে পারেন: http://codex.wordpress.org/Function_References/add_meta_box । আপনি অ্যাড_মেটা_বক্স ফাংশনটি যে আদেশে কল করেছেন তার উপর মেটা বাক্সগুলির ক্রম নির্ভর করে। উদাহরণস্বরূপ: নিম্নলিখিত কোড স্নিপেটের সাথে, মন্তব্যগুলির মেটা বক্সটি কাস্টম ফিল্ডগুলি মেটা বক্সের আগে হবে।

function my_add_meta_boxes( $post_type, $post ) {
    if ( ('publish' == $post->post_status || 'private' == $post->post_status) && post_type_supports($post_type, 'comments') )
        add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core');

    if ( post_type_supports($post_type, 'custom-fields') )
        add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', $post_type, 'normal', 'core');

    ...
}

add_action( 'add_meta_boxes', 'my_add_meta_boxes' );

আপনি ডাব্লুপি-অ্যাডমিন / সম্পাদনা-ফর্ম-উন্নত.এফপি ফাইলটি দেখতে চাইতে পারেন

পোস্ট তালিকার পৃষ্ঠায় কোন কলামগুলির শিরোনাম প্রদর্শিত হবে সেট করা হচ্ছে

আপনাকে ফিল্টার পরিচালনা _ $ $ post_type} _ পোষ্ট_কলামগুলি ব্যবহার করতে হবে। উদাহরণস্বরূপ: নীচের স্নিপেট মন্তব্যগুলির কলামটি সরিয়ে ফেলবে।

function my_remove_columns( $posts_columns ) {
    unset( $posts_columns['comments'] );

    return $posts_columns;
}

add_filter( 'manage_post_posts_columns', 'my_remove_columns' );

পোস্ট তালিকার পৃষ্ঠায় দেখানোর জন্য ডিফল্ট ফলাফলগুলি সেট করা

ফিল্টারগুলি সম্পাদনা _ {$ post_type} _per_page 'এবং' edit_posts_per_page 'ব্যবহার করুন।

function my_edit_post_per_page( $per_page, $post_type ) {

    $edit_per_page = 'edit_' . $post_type . '_per_page';
    $per_page = (int) get_user_option( $edit_per_page );
    if ( empty( $per_page ) || $per_page < 1 )
        $per_page = 1;

    return $per_page;
}

add_filter( 'edit_posts_per_page', 'my_edit_post_per_page' );

একটি নির্দিষ্ট পোস্ট টাইপ করতে:

  • add_filter( 'edit_{post type}_per_page', 'my_edit_post_per_page' );যেমন add_filter( 'edit_post_per_page', 'my_edit_post_per_page' );পোস্টের add_filter( 'edit_page_per_page', 'my_edit_post_per_page' );জন্য, পৃষ্ঠাগুলির জন্য ব্যবহার করুন ।

  • বা আপনার ফাংশনের মধ্যে একটি শর্ত ব্যবহার করুন। উদাহরণ:

    my_edit_post_per_page (_ প্রতি পৃষ্ঠায়, $ পোস্ট_প্রকার) pe ফাংশন করুন

    if( $post_type == 'post' ) {
        $edit_per_page = 'edit_' . $post_type . '_per_page';
        $per_page = (int) get_user_option( $edit_per_page );
        if ( empty( $per_page ) || $per_page < 1 )
            $per_page = 1;
    }
    
    
    return $per_page;

দুঃখিত, সম্ভবত আমি নিজেকে সঠিকভাবে ব্যাখ্যা করিনি। আমি অ্যাডমিন অঞ্চলে পোস্ট সম্পাদনা পৃষ্ঠায় মেটা বাক্সগুলি উল্লেখ করছিলাম পাশাপাশি অ্যাডমিন পোস্টের তালিকার পৃষ্ঠায় প্রদর্শন করার জন্য পোস্টের ডিফল্ট সংখ্যা নির্ধারণ করছিলাম।
নেটকন্সট্রাক্টর.কম

1
সুতরাং প্রযুক্তিগতভাবে এটি কোনও প্রশ্ন নয়, এটি কি আসলেই 2 টি প্রশ্ন?
টম জে নওয়েল

আমি আমার উত্তরটি পরিবর্তন করেছি। আপনার আরও বিশদ প্রয়োজন হলে আমাকে জানান।
sorich87

@ সোরিচ ৮87 আপনার প্রতিক্রিয়ার জন্য আপনাকে ধন্যবাদ জানায় তবে যা আমি মনে করি প্রতিটি মেটাবক্সের সঠিক ক্রম নির্দিষ্ট করার কোনও উপায় ছিল না বা সেখানে ছিল? আমার কিছুটা বেশি নির্দিষ্ট হওয়া উচিত। আমি মূলত বিভিন্ন কোড স্নিপেটের সন্ধান করছি যা প্রতিটি অ্যাকাউন্টে লগইন না করে আমাকে সমস্ত ব্যবহারকারীর জন্য বিভিন্ন বিকল্প প্রাক-সেট করতে দেয়। উদাহরণস্বরূপ: পোস্ট সম্পাদনা পৃষ্ঠাগুলিতে মেটা বাক্সগুলির যথাযথ ক্রম সেট করা, পোস্ট তালিকার পৃষ্ঠায় কোন কলামগুলির শিরোনাম প্রদর্শিত হবে তা সেট করা, পোস্ট তালিকার পৃষ্ঠায় দেখানোর জন্য ডিফল্ট ফলাফলগুলি সেট করা ... এর মতো জিনিস। আগাম ধন্যবাদ.
নেটকন্সট্রাক্টর.কম

আমি আমার উত্তরটি পরিবর্তন করেছি।
sorich87

9

নিম্নলিখিত উদাহরণে, প্রতিস্থাপন {CPT}, মত পোস্টের প্রকারের নাম দিয়ে post,page , book, event, imaginary, foobar... তাই আপনি যদি একটি পোস্ট টাইপ নামে আছে event, আপনার জন্য একটি ফিল্টার যোগ করার জন্য প্রয়োজন হবে get_user_option_meta-box-order_event

add_filter( 'get_user_option_meta-box-order_{CPT}', 'metabox_order' );
function metabox_order( $order ) {
    return array(
        'normal' => join( 
            ",", 
            array(       // vvv  Arrange here as you desire
                'customdiv-{CPT}',
                'authordiv',
                'slugdiv',
            )
        ),
    );
}

নোট:

  • পাশাপাশি normal, আপনিও থাকতে পারেন sideএবংadvanced
  • মানগুলি কমা দ্বারা বিভক্ত ডিভিড আইডি, আপনি পৃষ্ঠার উত্স কোডটি দেখে ধরে নিতে পারেন বা আপনি অনুমান করতে পারেন
  • আপনার কাস্টম অর্ডারে অন্তর্ভুক্ত নেই এমন কোনও মেটাবক্স আপনার তালিকার শেষে স্বয়ংক্রিয়ভাবে যুক্ত হবে।

1
{CPT}নামকরণে আমি কিছুটা বিভ্রান্ত হয়ে পড়েছিলাম ; পরিষ্কার করার জন্য, যদি আপনার নামের কোনও পোস্টের ধরণ eventথাকে তবে আপনাকে এর জন্য একটি ফিল্টার যুক্ত করতে হবে get_user_option_meta-box-order_event
রিনোগো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.