آیا میخواهید یک وضعیت ارسال سفارشی به پستهای وبلاگ خود در وردپرس اضافه کنید؟ وضعیت ارسال در واقع ابزار سرمقاله است که به شما این امکان را میدهد تا مقالههایتان را بر اساس مراحل مربوطه در گردش کار سازماندهی کنید. ما در این مقاله نحوه سازماندهی وضعیت ارسال در پستهای وبلاگ را به شما آموزش خواهیم داد.
وضعیت ارسال در وردپرس چیست و شما چه نیازی به آن دارید؟
وضعیت ارسال یک ابزار سرمقاله است که مراحل یک پست وبلاگ را در مراحل ویرایش تعریف میکند. برای مثال شما یک پست ناقص را با وضعیت “پیشنویس” ثبت میکنید در حالی که پس از انتشار، وضعیت پست به “منتشر شده” تغییر میکند.
وضعیت ارسال در وردپرس به شما کمک میکند تا وضعیت نحوه ارسال و نمایش پستهای وبلاگ را در وبسایت خود مدیریت کنید. به عنوان مثال، به طور خودکار پستهایی با برچسب پیشنویس از صفحه اصلی و سایر قسمتهای قابل مشاهده وبسایت شما حذف خواهند شد. به صورت پیش فرض وردپرس به شما وضعیتهای پست زیر را ارائه میدهد:
Draft: مطالب پیش نویس شده که هنوز منتشر نشدهاند.
Auto draft: وردپرس ویژگی ذخیره خودکار را دارد، به این صورت که پیشنویس را به صورت خودکار برای بازنگری ذخیره میکند.
Pending review: پستهای کاملی که برای بررسی پست شدهاند ولی هنوز منتشر نشدهاند.
Future: پستهایی که برای روزهای آتی زمانبندی شدهاند.
Private: پستهایی که به صورت خصوصی ارسال شدهاند.
Trash: پستهای حذف شده
Inherit: حالتی که صفحه فرزند، تنظیمات صفحه والد را به خود میگیرد.
به غیر از وضعیت ارسال پست به صورت پیشنویس، شما میتوانید برای پیشبرد بهتر مطالب خود، وضعیتهای شخصیسازی شده را ایجاد کنید. برای مثال، میتوانید یک برچسب “مناسب” برای پستهایی که کامل هستند اما برای انتشار مناسب نیستند ایجاد کنید.
با این تفاسیر بیایید نگاهی به نحوه ایجاد وضعیت ارسال پست در وردپرس بیاندازیم.
روش اول: با استفاده از افزونه وضعیت ارسال ایجاد کنید
این یکی از سادهترین روشهایی است که میتوانید از آن استفاده کنید. به این ترتیب شما میتوانید وضعیت ارسال شخصیسازتان را در وبسایت چند نویسنده خود، با توجه به گردش کار متفاوت نویسندهها ایجاد کنید. اولین چیزی که باید انجام دهید این است که افزونه Edit Flow را نصب و فعال کنید. پس از فعالسازی این افزونه وردپرس یک منوی جدید با عنوان Edit Flow را به منوی مدیریت WordPress اضافه میکند. با کلیک بر روی آن، شما به صفحه تنظیمات افزونه منتقل خواهید شد.
Edit Flow ویژگیهای بسیار مفید و کارایی برای شما داشته و این امکان را به شما میدهد که به صورت دلخواه آن را خاموش و یا روشن کنید. حالا برای ادامه روی کلمه Edit Statuses زیر کادر Custom Statuses کلیک کنید.
Edit Flow به صورت خودکار وضعیت ارسالهای زیر را ایجاد میکند:
Pitch: این وضعیت برای پستهای جدید اعمال میشده و به صورت پیشفرض هر پست جدیدی که نوشته شود در این وضعیت قرار میگیرد.
Assigned: شما با استفاده از این وضعیت میتوانید حالتی را به یک نویسنده خاص که انتخاب میکنید اختصاص دهید.
In progress: این وضعیت مربوط به زمانیست که شما در حال کار بر روی یک پست هستید اما هنوز مراحل تکمیل آن طی نشده، با این وضعیت پست به عنوان پیشنویس برای خواندن در دسترس نخواهد بود.
شما میتوانید وضعیت دلخواهتان را با نام و توضیح در ستون سمت چپ تعریف کنید و با کلیک بر روی Add new status وضعیت جدید را ایجاد کنید.
حالا وضعیت سفارشی شما در ستون سمت راست به نمایش در خواهد آمد. شما میتوانید هر زمان که بخواهید آن را ویرایش و یا حذف کنید.
سپس باید برای ایجاد پست جدید به Posts » Add New page بروید. بر روی Edit در جعبه Publish در صفحه ویرایش پست کلیک کنید.
شما در این قسمت تمام وضعیتهای ارسال پیشفرض و وضعیتهایی که خودتان سفارشی کردهاید به صورت منوی کشویی در دسترستان قرار خواهد گرفت. همچنین میتوانید با رفتن به Posts » All Posts تمام پستهای قرار گرفته در یک وضعیت خاص را ببینید.
روش دوم: ایجاد وضعیت با استفاده از کد
وردپرس یک باگ شناخته شده در API دارد که برای ایجاد وضعیت جدید از آن استفاده میکنند. گرچه این روش به شما اجازه ایجاد یک وضعیت پست را میدهد اما شما نمیتوانید از آن در پنل مدیریت استفاده کنید. این بدان معناست که با کدگذاری وضعیت شما اعمال خواهد شد اما پس از تمکیل پست باید آن را تغییر دهید. اگر باز هم میخواهید این کار را دستی انجام دهید مطلب را دنبال کنید.
در این روش شما باید یک کد را به وردپرس اضافه کنید. کد زیر را به فایل functions.php یا یک افزونه خاص اضافه کنید.
// Registering custom post status
function
wpb_custom_post_status(){
register_post_status(
'rejected'
,
array
(
'label'
=> _x(
'Rejected'
,
'post'
),
'public'
=> false,
'exclude_from_search'
=> false,
'show_in_admin_all_list'
=> true,
'show_in_admin_status_list'
=> true,
'label_count'
=> _n_noop(
'Rejected <span class="count">(%s)</span>'
,
'Rejected <span class="count">(%s)</span>'
),
) );
}
add_action(
'init'
,
'wpb_custom_post_status'
);
// Using jQuery to add it to post status dropdown
add_action(
'admin_footer-post.php'
,
'wpb_append_post_status_list'
);
function
wpb_append_post_status_list(){
global
$post
;
$complete
=
''
;
$label
=
''
;
if
(
$post
->post_type ==
'post'
){
if
(
$post
->post_status ==
'rejected'
){
$complete
=
' selected="selected"'
;
$label
=
'<span id="post-status-display"> Rejected</span>'
;
}
echo
'
<script>
jQuery(document).ready(
function
($){
$(
"select#post_status"
).append(
"<option value="rejected" '.$complete.'>Rejected</option>"
);
$(
".misc-pub-section label"
).append(
"'.$label.'"
);
});
</script>
';
}
}
توجه کنید که باید تمام این کد را در وضعیت پست جایگزین کنید. این کد وضعیت سفارشی را ثبت کرده و با استفاده از jQuery برای اضافه کردن آن در پنل مدیریت استفاده میکند. اکنون شما میتوانید وضعیت سفارشی شده را در منوی کشویی مشاهده کنید.