আমি ফাংশন.এফপি ফাইলের মাধ্যমে ডিফল্ট "স্ক্রীন বিকল্পগুলি" এবং মেটাবক্স অর্ডার সেট করতে মরিয়াভাবে কিছু উপায় (যে কোনও উপায়) সন্ধান করছি। এখানে কি তারা সরবরাহ করতে পারে কারও কি কোনও সহায়তা আছে?
আমি ফাংশন.এফপি ফাইলের মাধ্যমে ডিফল্ট "স্ক্রীন বিকল্পগুলি" এবং মেটাবক্স অর্ডার সেট করতে মরিয়াভাবে কিছু উপায় (যে কোনও উপায়) সন্ধান করছি। এখানে কি তারা সরবরাহ করতে পারে কারও কি কোনও সহায়তা আছে?
উত্তর:
আপনাকে মেটা বাক্সগুলি সরিয়ে ফেলতে হবে এবং আপনার পছন্দ অনুযায়ী ক্রমগুলি যুক্ত করতে হবে।
মেটা বাক্সগুলি অক্ষম করতে: (আপনার প্রয়োজন অনুসারে কাস্টমাইজ করুন, ফাংশনগুলির প্রথম প্যারামিটার হিসাবে আপনার কোন নামটি ব্যবহার করা উচিত তা জানতে এইচটিএমএল কোডে মেটাবক্স আইডি দেখুন)
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;
নিম্নলিখিত উদাহরণে, প্রতিস্থাপন {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
{CPT}
নামকরণে আমি কিছুটা বিভ্রান্ত হয়ে পড়েছিলাম ; পরিষ্কার করার জন্য, যদি আপনার নামের কোনও পোস্টের ধরণ event
থাকে তবে আপনাকে এর জন্য একটি ফিল্টার যুক্ত করতে হবে get_user_option_meta-box-order_event
।