معرفی تابع _wp_privacy_settings_filter_draft_page_titles()
تابع _wp_privacy_settings_filter_draft_page_titles() یکی از توابع موجود در وردپرس است که به مدیریت عناوین صفحات پیشنویس در حالت حفظ حریم خصوصی کمک میکند. این تابع به شما این امکان را میدهد که نام صفحات پیشنویس را فیلتر کرده و در صورت نیاز تغییراتی در آن ایجاد کنید. در اینجا ما به بررسی دقیقتر این تابع و نحوه استفاده از آن میپردازیم.
خیلی از مواقع در هنگام توسعه یک وبسایت وردپرسی، ممکن است شما بخواهید که عنوان صفحات خاصی مثل صفحات پیشنویس بهطور خودکار ویرایش شود. به عنوان مثال، اگر شما میخواهید که عنوان صفحات پیشنویس بهگونهای نمایش داده شود که کاربران عادی نتوانند آن را ببینند، این تابع میتواند به شما کمک کند. با استفاده از این تابع، به راحتی میتوانید عناوین صفحات پیشنویس را فیلتر کنید.
اما چگونه میتوانیم از این تابع استفاده کنیم و چه مراحلی برای آن نیاز داریم؟ اولین قدم این است که ورودیهای تابع را بشناسیم. این تابع عناوین صفحات پیشنویس را به عنوان ورودی دریافت میکند و میتوانید با استفاده از کدنویسی مناسب، عناوینی را که میخواهید تغییر دهید، مشخص کنید.
بیایید نگاهی به کد مربوط به این تابع بیندازیم و متوجه شویم که چگونه میتوانیم آن را در سایت خود پیادهسازی کنیم. همچنین، در ادامه خواهید دید که چرا فیلتر کردن عناوین صفحات پیشنویس میتواند برای شما مفید باشد.
مثال کد
add_filter('draft_page_titles', '_wp_privacy_settings_filter_draft_page_titles');
function _wp_privacy_settings_filter_draft_page_titles($titles) {
foreach ($titles as &$title) {
if (strpos($title, 'Draft') !== false) {
$title = 'این یک صفحۀ خصوصی است';
}
}
return $titles;
}
توضیح کد
کد ۱:
add_filter('draft_page_titles', '_wp_privacy_settings_filter_draft_page_titles');
این خط کد یک فیلتر به وردپرس اضافه میکند که نام صفحات پیشنویس را به تابع _wp_privacy_settings_filter_draft_page_titles متصل میکند.
کد ۲:
function _wp_privacy_settings_filter_draft_page_titles($titles) {
در اینجا ما تابعی به نام _wp_privacy_settings_filter_draft_page_titles تعریف میکنیم که ورودی آن عنوانهای صفحات را دریافت میکند.
کد ۳:
foreach ($titles as &$title) {
این خط حلقهای ایجاد میکند که روی تمام عناوین صفحات پیشنویس میچرخد.
کد ۴:
if (strpos($title, 'Draft') !== false) {
شرطی برای بررسی اینکه آیا عنوان شامل کلمه «Draft» است یا نه.
کد ۵:
$title = 'این یک صفحۀ خصوصی است';
اگر عنوان شامل کلمه «Draft» باشد، عنوان به «این یک صفحۀ خصوصی است» تغییر پیدا میکند.
کد ۶:
return $titles;
در نهایت، عناوین ویرایششده به تابع اصلی برمیگردند تا در وردپرس نمایش داده شوند.