فهرست اسنیپت های مفید وردپرس من توسط رمی کورسون
بهعنوان یک توسعهدهنده WordPress اغلب از همان اسنیپتها استفاده میکنم برای جلوگیری از از دست دادن زمان هنگام ایجاد یک افزونه جدید. و امروز روز بسیار خوبی است فقط به این دلیل که می خواهم برخی از آنها را با شما به اشتراک بگذارم. قطعههای زیر مرتبط نیستند و میتوانید از آنها در افزونهها و تمهای سفارشی خود استفاده کنید.
رمزگذاری ایمیلها و اجتناب از هرزنامه
برای شروع، میخواهم یک قطعه ساده و عالی را با استفاده از یک تابع بومی وردپرس به شما معرفی کنید: antispambot(). استفاده از آن بسیار آسان است اما بسیار مفید است. هدف این است که ایمیلهایی را که در قسمت جلویی نمایش داده میشوند، رمزگذاری کنید تا از اسپمهای هرزنامه برای گرفتن آنها و ارسال هرزنامه به شما یا مشتریان تور جلوگیری شود. فقط ایمیل را به عنوان پارامتر تابع قرار دهید و وردپرس این کار را انجام می دهد:
echo antispambot("johndoe@mysite.com");
جایبان “Enter Title Here” را تغییر دهید
در مرحله بعد، هنگامی که یک پست جدید، یک صفحه جدید یا یک نوع پست سفارشی جدید اضافه می کنید، قسمت عنوان دارای یک مکان نگهدار است که می گوید “در اینجا عنوان را وارد کنید”. من واقعاً دوست دارم وقتی متن مکاندار نوع پستی را که اضافه میکنید در نظر میگیرد. برای مثال، اگر یک کتاب است، مکاننما باید «Enter Book Title Here» را نشان دهد. برای این کار از این کد استفاده کنید:
function change_default_title( $title ){
$screen = get_current_screen();
if ( '_your_custom_post_type_' == $screen->post_type ) {
$title = 'عنوان جدید';
}
بازگشت $title;
}
add_filter('enter_title_here', 'change_default_title' );
به سادگی نوع پست را تعریف کنید.
بررسی کنید که آیا یک افزونه فعال است
من چند افزونه وابسته به BBpress ایجاد کردم. از آنجایی که نمیخواستم اگر BBpress از دست رفته بود، افزونههای من بارگیری شوند، از این کد استفاده میکنم. خیلی ساده، اما بسیار مفید!
// در صورت استفاده در قسمت جلو، در ادمین مورد نیاز نیست، اضافه شود
include_once( ABSPATH . 'wp-admin/includes/plugin.php');
if (is_plugin_active('plugin-directory/plugin-file.php')) {
//پلاگین فعال است
}
نمایش تاریخ با استفاده از قالب پیشفرض وردپرس
تقریباً در هر افزونه یا تم این کار به درستی انجام نمیشود. بله، من در مورد نحوه نمایش تاریخ ها صحبت می کنم. همانطور که بسیاری از توسعه دهندگان تم ها یا افزونه ها را به زبان انگلیسی انجام می دهند، از قالب تاریخ ایالات متحده استفاده می کنند، زمانی که اروپایی ها از این موارد استفاده می کنند، تاریخ به درستی قالب بندی نشده است. بنابراین، یک راه ساده برای نمایش همه تاریخها با یک قالب، استفاده از فروشگاه فرمت در گزینههای نصب وردپرس خود با استفاده از قطعه زیر است. یعنی:
تاریخ( get_option('date_format'), strtotime( $date ) )
یک شناسه کاربری با ورود آن دریافت کنید
روز پیش از من خواسته شد که یک افزونه ارجاع دهنده برای وردپرس ایجاد کنم. مشتری من می خواست url ها کم و بیش به این شکل قالب بندی شوند: https://mysite.com/referrer/remi (که بدیهی است “رمی” ارجاع دهنده است). برای انجام این کار، از قوانین بازنویسی استفاده کردم (به پست قبلی< مراجعه کنید. /a>)، و همچنین یک تابع کوچک برای بازیابی شناسه کاربر از لاگین او:
$my_user = ''; // می تواند $_GET['user'] یا query_vars باشد
$user = get_user_by('login', $my_user );
$user_id = $user->ID;
یک URL رسانه (با شناسه آن) دریافت کنید
اصلی اما خوب، در اینجا یک راه ساده برای دریافت URL یک پیوست وجود دارد:
wp_get_attachment_url( $id );
به طور خودکار محتوا را به هر پست اضافه کنید
این نمونه ای از نحوه اضافه کردن هر نوع محتوا به هر پست نصب وردپرس است. برای مثال میتوانید از این روش برای افزودن محتوا به فید، در پستهایی که با برخی معیارها مطابقت دارند و غیره استفاده کنید…
تابع add_post_content($content) {
if(!is_feed() && !is_home()) {
$content .= 'حق نشر '.date('Y').'
';
}
بازگشت محتوای $;
}
add_filter('the_content', 'add_post_content');
یک کد کوتاه را از حلقه بازتاب دهید
این یکی از بدون قطعههای بسیار خوب است، اما از آنجایی که تقریباً هر روز از من میپرسند چگونه این کار را انجام دهم، در اینجا نحوه نمایش محتوای یک کد کوتاه خارج از حلقه آمده است:
echo do_shortcode('[shortcode option1="value1" option2="value2"]');
نمایش “زمان انسان”
و برای تکمیل لیست قطعات، یک عملکرد سریع که به شما امکان می دهد زمان را مانند توییتر فیس بوک نمایش دهید: “11 دقیقه قبل”، “1 ساعت پیش”، “دیروز” و غیره…
echo human_time_diff(get_the_time('U'), current_time('timestamp')).' ago';