خانه / وردپرس / آموزش وردپرس / آموزش ساخت Testimonials در وب سایت وردپرسی،قسمت چهارم

تاریخ انتشار: مهر 4, 1394 تعداد بازدید: 212 بازدید تعداد دیدگاه ها: 0

آموزش ساخت Testimonials در وب سایت وردپرسی،قسمت چهارم

آموزش ساخت Testimonials در وب سایت وردپرسی،قسمت چهارمReviewed by فریش تم on Sep 26Rating: 5.0آموزش ساخت Testimonials در وب سایت وردپرسی،قسمت چهارمبا ادامه آموزش ساخت Testimonials در وب سایت وردپرسی درخدمت شما هستیم ،در این قسمت نهایی میپردازیم به نحوه ساخت کد کوتاه و ابزارک Testimonials در وب سایت وردپرسی

سلام دوستان وقت بخیر
با ادامه آموزش ساخت Testimonials در وب سایت وردپرسی درخدمت شما هستیم ،در این قسمت نهایی میپردازیم به نحوه ساخت کد کوتاه و ابزارک Testimonials در وب سایت وردپرسی.پس تا انتها با من همراه باشید دوستان

برای ساخت کد کوتاه میتوانید از قطعه کد زیر بهره ببرید:

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'] );
        ?>
        <p><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 ); ?>" /></p>

        <p><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 ); ?>" />
        </p>

        <p><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></p>

        <p><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; ?>" /></p>
        <?php
    }
}

add_action( 'widgets_init', 'register_testimonials_widget' );
function register_testimonials_widget() {
    register_widget( 'Testimonial_Widget' );
}

دوستان عزیز کار شما به پایان رسید.

منبع: فریش تم

کانال تلگرام فریش تم
  • دیدگاه شما پس از تایید در سایت نمایش داده می شود.
  • از ارسال متن بصورت فینگلیش خودداری نموده و فارسی تایپ کنید.
  • دیدگاه و سوالات شما توسط کارشناسان ما بین 1 تا 12 ساعت پاسخ داده خواهد شد.
  • از ارسال دیگاه جهت پشتیبانی محصولات تجاری پرهیز و برای پشتیبانی از بخش پشتیبانی سایت اقدام فرمائید

هنوز دیدگاهی ثبت نشده است.