آموزش ساخت ابزارک در وردپرس

خانه » آموزش وردپرس » آموزش ساخت ابزارک در وردپرس

آموزش ساخت ابزارک در وردپرس

با سلام . ابزارک ها در وردپرس امکان اضافه کردن محتوا یا سایر موارد را به بخش های مختلف سایت فراهم می کنند. وردپرس ابزارک های مفیدی از جمله برای بایگانی، دسته ها، برچسب ها، جستجو، نوشته های اخیر، تقویم و… را فراهم کرده است. اگر شما یک وبلاگ نویس هستید و از ابزارک ها استفاده می کنید ، شاید به این مورد برخورد کرده باشید که ابزارک تکراری و یا به دلیل عدم استفاده غیرفعال شده است و کار نکند. در چنین شرایطی می خواهید ابزارک جدیدی ایجاد کنید. در این نوشته آموزش ساخت ابزارک در وردپرس را به شما یاد می دهم.

آموزش ساخت ابزارک در وردپرس

آموزش ساخت ابزارک در وردپرس

برای ساخت ابزارک در وردپرس ابتدا باید یک فایل php در مسیر wp_content / plugins /my_widget / ایجاد کنیم. که در ابتدای فایل قطعه کد زیر را جایگذاری می کنیم:

<!--?php &lt;br ?--> /*
Plugin Name: My Widget
Plugin URI: http://wordpress.org/extend/plugins/#
Description: This is an example plugin
Author: Your Name
Version: 1.0
Author URI: http://example.com/
*/

این فقط یک سربرگ ساده برای افزونه است و تا همینجا کافی است. این فایل را ذخیره کنید. سپس وارد پیشخوان وردپرس شوید و افزونه را فعال کنید. حال وقت آن رسیده که کلاس wp_widget  را گسترش دهید. بدین منظور قطعه کد زیر را داخل فایل افزونه وارد کنید.

// register My_Widget
add_action( 'widgets_init', function(){
register_widget( 'My_Widget' );
});

Add_action  دستورالعملی برای فراخوانی عملگر widgets_init می باشد. که در تمامی افزونه ها به صورت پیش فرض قرار دارد.
عملکرد register_widget برای ابزارک خاصی است که میتواند کلاس wp _ widget را توسعه دهد:

class My_Widget extends WP_Widget {
// class constructor
public function __construct() {}

// output the widget content on the front-end
public function widget( $args, $instance ) {}

// output the option form field in admin Widgets screen
public function form( $instance ) {}

// save options
public function update( $new_instance, $old_instance ) {}
}

ابزارک ساخته شد و تنها به 4 کلاس احتیاج داریم:

  • Constract__: کلاسی که برای ساخت پارامترهای ابزارک به صورت سفارشی اجازه صادر می کنید.
  • ()Widget:  برای نمایش محتوای ابزارک به کار می رود.
  • ()form : عناصر ابزارک در پیشخوان برای نمایش فرم است.
  • ()update: به روزرسانی عناصر ابزارک

تنظیمات ابزارک ساخته شده

برای تنظیمات این ابزارک و افزودن توضیحات مربوط به ابزارک مانند شناسه ی ابزارک، عنوان، تنظیمات اضافی و…  کدهای زیر را در فایل php  وارد کنید:

public function __construct() {
$widget_ops = array(
'classname' =&gt; 'my_widget',
'description' =&gt; 'A plugin for Kinsta blog readers',
);
parent::__construct( 'my_widget', 'My Widget', $widget_ops );
}

ایجاد فرم ابزارک در پنل مدیریت

حال میخواهیم فرمی را برای تنظیمات ابزارک در سمت مدیریت ایجاد کنیم تا کاربران قادر به تنظیم کردن آن باشند. این کار بر عهده ی کلاس  () form میباشد:

public function form( $instance ) {
$title = ! empty( $instance['title'] ) ? $instance['title'] : esc_html__( 'Title', 'text_domain' );
?&gt;

<label for="&lt;?php echo esc_attr( $this-&gt;get_field_id( 'title' ) ); ?&gt;">
<!--?php esc_attr_e( 'Title:', 'text_domain' ); ?-->
</label>

&lt;input
class="widefat"
id="<!--?php echo esc_attr( $this-&gt;get_field_id( 'title' ) ); ?-->"
name="<!--?php echo esc_attr( $this-&gt;get_field_name( 'title' ) ); ?-->"
type="text"
value="<!--?php echo esc_attr( $title ); ?-->"&gt;

<!--?php &lt;br ?--> }

آموزش ساخت ابزارک در وردپرس

حالا اگر بخواهیم چک لیستی را برای ابزارک خود ایجاد کنیم باید کارهای زیر را انجام دهیم.

public function form( $instance ) {

$posts = get_posts( array(
'posts_per_page' =&gt; 20,
'offset' =&gt; 0
) );
$selected_posts = ! empty( $instance['selected_posts'] ) ? $instance['selected_posts'] : array();
?&gt;
<div style="max-height: 120px; overflow: auto;">
<ul>
 	<li style="list-style-type: none">
<ul><!--?php foreach ( $posts as $post ) { ?-->
 	<li>&lt;input
type="checkbox"
name="<!--?php echo esc_attr( $this-&gt;get_field_name( 'selected_posts' ) ); ?-->[]"
value="<!--?php echo $post-&gt;ID; ?-->"
<!--?php checked( ( in_array( $post-&gt;ID, $selected_posts ) ) ? $post-&gt;ID : '', $post-&gt;ID ); ?--> /&gt;
<!--?php echo get_the_title( $post-&gt;ID ); ?--></li>
</ul>
</li>
</ul>
&nbsp;

</div>
<!--?php &lt;br ?--> }

نتیجه کد بالا تصویر زیر است:

آموزش ساخت ابزارک در وردپرس

بروز رسانی تنظیمات ابزارک

برای بروز رسانی باید از کلاس () update استفاده کرد.

public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';

$selected_posts = ( ! empty ( $new_instance['selected_posts'] ) ) ? (array) $new_instance['selected_posts'] : array();
$instance['selected_posts'] = array_map( 'sanitize_text_field', $selected_posts );

return $instance;

خروجی ابزارک

برای مشاهده خروجی ابزارک باید از کلاس ()widget استفاده کرد.

public function widget( $args, $instance ) {
echo $args['before_widget'];
if ( ! empty( $instance['title'] ) ) {
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
}

if( ! empty( $instance['selected_posts'] ) &amp;&amp; is_array( $instance['selected_posts'] ) ){

$selected_posts = get_posts( array( 'post__in' =&gt; $instance['selected_posts'] ) );
?&gt;
<ul>
 	<li style="list-style-type: none">
<ul><!--?php foreach ( $selected_posts as $post ) { ?-->
 	<li><a href="&lt;?php echo get_permalink( $post-&gt;ID ); ?&gt;">
<!--?php echo $post-&gt;post_title; ?-->
</a></li>
</ul>
</li>
</ul>
&nbsp;

<!--?php &lt;/p&gt;
&lt;p&gt;}else{&lt;br ?--> echo esc_html__( 'No posts selected!', 'text_domain' );
}

echo $args['after_widget'];
}

خروجی به شکل زیر خواهد بود:

آموزش ساخت ابزارک در وردپرسآموزش ساخت ابزارک در وردپرس به اتمام رسید. در صورت داشتن هرگونه ابهام و سوال در قسمت دیدگاه ها با ما در میان بگذارید. بدرود.

ناشر محصول

فاطمه ساجدی

فاطمه ساجدی

فاطمه ساجدی هستم. کارشناسی ارشد ای تی. کار تولید محتوا و طراحی سایت رو انجام میدم.

مطالب جدید

جلوگیری از ارسال نظرات اسپم در وردپرس

مدیریت سفارشات مشتریان در ووکامرس

مدیریت سفارشات مشتریان در ووکامرس

انتقال مستقیم به صفحه تسویه حساب در ووکامرس

انتقال مستقیم به صفحه تسویه حساب در ووکامرس

کاهش رتبه الکسا در وردپرس

کاهش رتبه الکسا در وردپرس

ساخت جدول قیمت گذاری در وردپرس

ساخت جدول قیمت گذاری در وردپرس

افزونه meta slider

افزونه meta slider

هنوز نظری ثبت نشده! شما نظری ندارید؟!

*

code