در وردپرس می توانید به راحتی وضعیت جدیدی برای پست ها ایجاد کنید که بتوانید PostType های سفارشی را با آن مدیریت کنید, که به راحتی با استفاده از Hookها و متد register_post_status میتوانید این کار را انجام بدهید.
برای ایجاد Status جدید در داخل نوشته ها یا Post Type های سفارشی باید به شکل زیر عمل کنید.
- ابتدا یک وضعیت جدید در داخل سیستم ثبت نام کنید, به این شکل وضعیت شما در سیستم ثبت میشود و در صفحه لیست پست ها آن را در بالای لیست نمایش میدهد که میتوان پست ها را با استفاده از آن وضعیت فیلتر کرد :
function register_custom_post_status(){ register_post_status( '7cloner', array( 'label' => _x( '7cloner', 'post' ), 'public' => true, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'label_count' => _n_noop( '7cloner <span class="count">(%s)</span>', '7cloner <span class="count">(%s)</span>' ), ) ); } add_action( 'init', 'register_custom_post_status' );
- اضافه کردن Status به لیست وضعیت ها در بخش ویرایش یا افزودن پست به شکل زیر :
function display_custom_post_status_option(){ global $post; $complete = ''; $label = ''; if($post->post_type == 'post'){ if($post->post_status == '7cloner'){ $selected = 'selected'; } echo '<script> $(document).ready(function(){ $("select#post_status").append("<option value=\"7cloner\" '.$selected.'>7cloner</option>"); $(".misc-pub-section label").append("<span id=\"post-status-display\"> 7cloner</span>"); }); </script> '; } } add_action('admin_footer', 'display_custom_post_status_option');