با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن به ویژه کاربرانی که به سیستم مدیریت محتوای قدرتمند وردپرس علاقمند هستند.
به ” دوره متخصص وردپرس ” خوش آمدید!
در این دوره قرار است توسعه و ارتقاء پلاگین های وردپرس را به صورت جامع و کامل بیاموزیم.
فرقی نمی کند که در شرف نوشتن اولین پلاگین خود هستید و یا این که پنجاهمین پلاگین خود را می نویسید! امیدوارم این دوره برایتان مفید باشد.
در جلسه گذشته با ویژگی Heartbeat API آشنا شدیم.
بر اساس مطالب جلسه گذشته آموختیم که Heartbeat API یک API برای نظرسنجی سرور ساده است.
این API که برای وردپرس ساخته شده است؛ به روزرسانی های frontend برای near-real-time را امکان پذیر می سازد.
وقتی صفحه بارگیری می شود ، کد heartbeat سمت کاربر یک بازه (به نام “tick”) تنظیم می کند تا هر ۱۵-۶۰ ثانیه اجرا شود.
پس از اجرا heartbeat، داده ها را برای ارسال از طریق یک رویداد جی کوئری جمع آوری می کند.
در این جلسه فارغ از جلسه قبل خلاصه ای بر سر فصل جاوا اسکریپت در ساخت پلاگین به علاقمندان این دوره ارائه می شود.
در اینجا تمام نمونه های کد نمونه از مباحث قبل ، که به دو صفحه کد کامل مونتاژ شده اند آورده شده است:
این کد در یکی از صفحات افزونه شما قرار دارد.
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 | <?php add_action('admin_enqueue_scripts', 'my_enqueue'); function my_enqueue($hook) { if( 'myplugin_settings.php' != $hook) return; wp_enqueue_script( 'ajax-script', plugins_url( '/js/myjquery.js', __FILE__ ), array('jquery') ); $title_nonce = wp_create_nonce('title_example'); wp_localize_script('ajax-script', 'my_ajax_obj', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => $title_nonce, )); } add_action('wp_ajax_my_tag_count', 'my_ajax_handler'); function my_ajax_handler() { check_ajax_referer('title_example'); update_user_meta( get_current_user_id(), 'title_preference', $_POST['title']); $args = array( 'tag' => $_POST['title'], ); $the_query = new WP_Query( $args ); echo $_POST['title'].' ('.$the_query->post_count.') '; wp_die(); // all ajax handlers should die when finished } |
این کد در پرونده js / myjquery.js در زیر پوشه افزونه شما قرار دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 | jQuery(document).ready(function($) { //wrapper $(".pref").change(function() { //event var this2 = this; //use in callback $.post(my_ajax_obj.ajax_url, { //POST request _ajax_nonce: my_ajax_obj.nonce, //nonce action: "my_tag_count", //action title: this.value //data }, function(data) { //callback this2.nextSibling.remove(); //remove the current title $(this2).after(data); //insert server response }); }); }); |
پس از ذخیره ، تعداد ارسال نتیجه به selected title اضافه می شود.
در این جلسه پرونده این سر فصل یعنی کاربرد جاوا اسکریپت در ساخت پلاگین را به بستیم.
جلسه بعدی با یک سر فصل جدید همراه شما هستیم.
با پی وی لرن همراه باشید.