جستجو کردن
Close this search box.

فهرست مطالب

آموزش ساخت Testimonials

آموزش ساخت Testimonial در وردپرس (2)

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

برای این کارابتدا باید از تابع زیر استفاده کرد.


add_shortcode( 'testimonial', 'testimonial_shortcode' );
/**
* ساخت شورت کد
*
*/
function testimonial_shortcode( $atts ) {
extract( shortcode_atts( array(
'posts_per_page' => '1',
'orderby' => 'none',
'testimonial_id' => '',
), $atts ) );

return get_testimonial( $posts_per_page, $orderby, $testimonial_id );
}

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


[testimonial posts_per_page="1" orderby="none" testimonial_id=""]

خب حال نوبت به ایجاد و ساخت ابزارک برای Testimonials می باشد که برای این کار از کد زیر استفاده کنید.


class Testimonial_Widget extends WP_Widget {
public function __construct() {
$widget_ops = array( 'classname' => 'testimonial_widget', 'description' => 'نمایش دیدگاه های مشتریان' );
parent::__construct( 'testimonial_widget', 'دیدگاه های مشتریان', $widget_ops );
}

public function widget( $args, $instance ) {
extract( $args );
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
$posts_per_page = (int) $instance['posts_per_page'];
$orderby = strip_tags( $instance['orderby'] );
$testimonial_id = ( null == $instance['testimonial_id'] ) ? '' : strip_tags( $instance['testimonial_id'] );

echo $before_widget;

if ( ! empty( $title ) )
echo $before_title . $title . $after_title;

echo get_testimonial( $posts_per_page, $orderby, $testimonial_id );

echo $after_widget;
}

public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['posts_per_page'] = (int) $new_instance['posts_per_page'];
$instance['orderby'] = strip_tags( $new_instance['orderby'] );
$instance['testimonial_id'] = ( null == $new_instance['testimonial_id'] ) ? '' : strip_tags( $new_instance['testimonial_id'] );

return $instance;
}

public function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '', 'posts_per_page' => '1', 'orderby' => 'none', 'testimonial_id' => null ) );
$title = strip_tags( $instance['title'] );
$posts_per_page = (int) $instance['posts_per_page'];
$orderby = strip_tags( $instance['orderby'] );
$testimonial_id = ( null == $instance['testimonial_id'] ) ? '' : strip_tags( $instance['testimonial_id'] );
?>


<label for="<?php echo $this->get_field_id( 'title' ); ?>">عنوان:</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />




<label for="<?php echo $this->get_field_id( 'posts_per_page' ); ?>">تعداد دیدگاه ها: </label>
<input class="widefat" id="<?php echo $this->get_field_id( 'posts_per_page' ); ?>" name="<?php echo $this->get_field_name( 'posts_per_page' ); ?>" type="text" value="<?php echo esc_attr( $posts_per_page ); ?>" />





<label for="<?php echo $this->get_field_id( 'orderby' ); ?>">مرتب سازی براساس</label>
<select id="<?php echo $this->get_field_id( 'orderby' ); ?>" name="<?php echo $this->get_field_name( 'orderby' ); ?>">
<option value="none" <?php selected( $orderby, 'none' ); ?>>هیچ</option>
<option value="ID" <?php selected( $orderby, 'ID' ); ?>>ID</option>
<option value="date" <?php selected( $orderby, 'date' ); ?>>تاریخ</option>
<option value="modified" <?php selected( $orderby, 'modified' ); ?>>آخرین تغییر</option>
<option value="rand" <?php selected( $orderby, 'rand' ); ?>>تصادفی</option>
</select>




<label for="<?php echo $this->get_field_id( 'testimonial_id' ); ?>">دیدگاه ID</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'testimonial_id' ); ?>" name="<?php echo $this->get_field_name( 'testimonial_id' ); ?>" type="text" value="<?php echo $testimonial_id; ?>" />

<?php
}
}

add_action( 'widgets_init', 'register_testimonials_widget' );
/**
* ثبت ابزارک
*/
function register_testimonials_widget() {
register_widget( 'Testimonial_Widget' );
}

به پایان قسمت دوم آموزش ساخت Testimonials در وردپرس رسیدیم امید واریم توانسه باشیم با لحنی ساده و راحت توضیح داده باشم و مورد پسند شما واقع قرار گرفته باشد.

قسمت اول آموزش ساخت Testimonials در وردپرس

 

 

منبع: وردپرس

 

اولین نفری باش که به این مقاله امتیاز میدی 🙂
اشتراک
اطلاع از
guest
0 نظرات
بازخورد درون خطی
مشاهده همه نظرات
0
نظر خود را به اشتراک بگذاریدx
عضو شوید و همه محصولات را رایگان دانلود کنید!!!