- مقدمه ای بر افزونه نویسی
- افزونه وردپرس چیست ؟
- افزونه ها چگونه با وردپرس تعامل دارند ؟
- چه زمانی افزونه ها بارگذاری می شوند ؟
- منابع معتبر دریافت افزونه
- معرفی چند افزونه محبوب وردپرس
- بررسی برچسب های افزونه وردپرس
- مزایای افزونه های وردپرس
- جداسازی افزونه ها و پوسته ها
- اشتراک گذاری و استفاده مجدد آسان افزونه های وردپرس
- بروزرسانی های آسان افزونه های وردپرس
- مدیریت افزونه های وردپرس
- ویرایش افزونه های وردپرس
- دایرکتوری افزونه های در وردپرس
- وضعیت های مختلف افزونه های وردپرس
- تست عملکرد افزونه های وردپرس
- پایه و اساس افزونه
- لزوم نامگذاری مناسب افزونه وردپرس
- اهمیت پوشه بندی افزونه های وردپرس
- اهمیت پیشوندگذاری در افزونه های وردپرس
- سازماندهی فایل های افزونه وردپرس
- ساختار استاندارد پوشه های افزونه وردپرس
- الزامات بخش هدر افزونه وردپرس
- لایسنس یا مجوز افزونه وردپرس
- تعیین مسیرها در توسعه افزونه وردپرس
- تعیین مسیر به صورت محلی در افزونه وردپرس
- تعیین مسیر URL ها در توسعه افزونه وردپرس
- تابع فعال سازی افزونه وردپرس
- ایجاد تنظیمات پیش فرض هنگام فعال سازی افزونه وردپرس
- تابع غیرفعال سازی افزونه وردپرس
- تفاوت غیرفعال کردن و حذف کردن افزونه وردپرس
- حذف افزونه وردپرس
- حذف افزونه وردپرس توسط فایل Uninstall.php
- حذف افزونه وردپرس توسط قلاب Uninstall
- اهمیت مستندسازی کدهای افزونه وردپرس
- نامگذاری متغیرها ، توابع و فایل ها در افزونه وردپرس
- کنترل رشته ها در افزونه با علامت های نقل قول تکی و جفت
- دندانه گذاری یا تورفتگی کدها در افزونه وردپرس
- استایل دهی کدهای افزونه با آکولاد
- استفاده از فاصله در کدنویسی افزونه
- استفاده از تگ کوتاه PHP در افزونه نویسی
- دستورات SQL در افزونه نویسی وردپرس
- چک لیست توسعه افزونه وردپرس
- آشنایی با قلاب های وردپرس
- آشنایی با قلاب های اکشن در وردپرس
- آشنایی کامل با اکشن وردپرس
- توابع قلاب اکشن وردپرس
- تابع remove_action وردپرس
- تابع remove_all_actions وردپرس
- تابع has_action وردپرس
- تابع did_action ورپرس
- plugins_loaded ؛ قلاب اکشن کاربردی وردپرس
- Init ؛ قلاب اکشن کاربردی وردپرس
- Admin_menu ؛ قلاب اکشن کاربردی وردپرس
- template_redirect ؛ قلاب اکشن کاربردی وردپرس
- wp_head ؛ قلاب اکشن کاربردی وردپرس
- آشنایی با قلاب های فیلتر – Filter Hooks در وردپرس
- تابع apply_filters_ref_array وردپرس
- تابع remove_filter وردپرس
- تابع remove_all_filters وردپرس
- تابع has_filter وردپرس
- تابع current_filter وردپرس
- توابع بازگشت سریع وردپرس
- قلاب فیلتر the_content وردپرس
- قلاب فیلتر the_title وردپرس
- قلاب فیلتر comment_text وردپرس
- قلاب فیلتر template_include وردپرس
- استفاده از قلاب ها در داخل یک کلاس
- ایجاد قلاب های سفارشی در وردپرس
- مزایای ایجاد قلاب های سفارشی
- چگونه قلاب های وردپرس را پیدا کنیم ؟
- قلاب های متغیر وردپرس
- لیست مرجع قلاب های وردپرس
- ادغام افزونه با وردپرس
- ایجاد یک منوی سطح بالا در وردپرس
- افزودن یک زیرمنو به وردپرس
- افزودن یک زیرمنو به منوهای موجود وردپرس
- ایجاد ابزارک با کدنویسی در وردپرس
- ایجاد یک ابزارک حرفه ای در وردپرس
- ایجاد ابزارک های داشبورد وردپرس
- ایجاد ابزارک داشبورد قابل تنظیم در وردپرس
- ایجاد متاباکس (Meta Box) در وردپرس
- ذخیره کردن داده های متاباکس در وردپرس
- ایجاد متاباکس پیشرفته در وردپرس
- ایجاد یک افزونه پایدار و با ثبات
تابع Apply_filters_ref_array() تقریباً شبیه تابع apply_filter() عمل می کند . یکی از تفاوت های اصلی توابع apply_filter() و apply_filters_ref_array() تعداد پارامترهای است که دریافت می کنند . در تابع apply_filter() امکان ارسال یک یا چند پارامتر وجود دارد ، در حالی که در تابع apply_filters_ref_array() آرایه ای از پارامترها ارسال می شود .
هر دو پارامتر ارسال شده به تابع apply_filters_ref_array() الزامی هستند . نکته مهمی که باید در نظر بگیرید این است که پارامتر $args باید به صورت مرجع (refrence) به تابع ارسال شود .
1 2 3 |
<?php apply_filters_ref_array( $tag, $args ); ?> |
$tag – نام قلاب فیلتر
$args – آرایه ای از آرگومان های ارسال شده به فیلترهای ثبت شده برای قلاب
فرض کنید شما یک پرس و جوی پیچیده روی بانک اطلاعاتی وردپرس دارید و نیاز است یکسری مطالب را در سایت نمایش دهید و این مورد به صورت پیش فرض در وردپرس وجود ندارد .
وردپرس دارای قلاب فیلتری به نام posts_results است که به شما امکان می دهد اینکار را به آسانی انجام دهید .
کد زیر مربوط به هسته وردپرس در مورد قلاب فیلتر posts_results است .
1 2 3 4 5 |
<?php $this->posts = apply_filters_ref_array( ‘posts_results’, array( $this->posts, &$this ) ); ?> |
این قلاب آرایه ای از اشیاء نوشته ها را به هر فیلتر ثبت شده روی آن ارسال می کند .
با استفاده از مثال زیر ، شما به صورت کامل این آرایه از اشیاء نوشته ها (posts object) را بازنویسی می کنید و آن را با مجموعه سفارشی خود جایگزین می کنید .
به صورت پیش فرض ، پرس و جوهای وردپرس در خصوص نوع مطلب نوشته می باشد .
شما این لیست اشیاء مطالب را به نوع مطلب ” برگه (page) ” در صفحه اصلی سایت تغییر می دهید .
در کد زیر از کلاس wpdb که در فصل 6 ” امنیت افزونه “ بررسی می شود ، استفاده شده است .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<?php add_filter( 'posts_results', 'rwpp_custom_home_page_posts' ); function rwpp_custom_home_page_posts( $results ) { global $wpdb, $wp_query; /* Check if viewing the home page. */ if ( is_home() ) { /* Posts per page. */ $per_page = get_option( 'posts_per_page' ); /* Get the current page. */ $paged = get_query_var( 'paged' ); /* Set the $page variable. */ $page = ( ( 0 == $paged || 1 == $paged ) ? 1 : absint( $paged ) ); /* Set the number of posts to offset. */ $offset = ( $page - 1 ) * $per_page . ', '; /* Set the limit by the $offset and number of posts to show. */ $limits = 'LIMIT '. $offset . $per_page; /* Get results from the database. */ $results = $wpdb->get_results( " SELECT SQL_CALC_FOUND_ROWS $wpdb->posts.* FROM $wpdb->posts WHERE 1=1 AND post_type = 'page' AND post_status = 'publish' ORDER BY post_title ASC $limits " ); } return $results; } ?> |


ثبت ديدگاه