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

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

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

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

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

برای ساخت متاباکس باید از تابع add_meta_box استفاده کنیم و شما دوستان باید کد زیر را در ادامه کد قسمت قبل در فایل function.php قرار دهید:

function testimonials_meta_boxes() {
    add_meta_box( 'testimonials_form', 'جزئیات مشتری', 'testimonials_form', 'testimonials', 'normal', 'high' );
}

function testimonials_form() {
    $post_id = get_the_ID();
    $testimonial_data = get_post_meta( $post_id, '_testimonial', true );
    $client_name = ( empty( $testimonial_data['client_name'] ) ) ? '' : $testimonial_data['client_name'];
    $source = ( empty( $testimonial_data['source'] ) ) ? '' : $testimonial_data['source'];
    $link = ( empty( $testimonial_data['link'] ) ) ? '' : $testimonial_data['link'];
	$image = ( empty( $testimonial_data['image'] ) ) ? '' : $testimonial_data['image'];

    wp_nonce_field( 'testimonials', 'testimonials' );
    ?>
    <p>
        <label>نام مشتری</label><br />
        <input type="text" value="<?php echo $client_name; ?>" name="testimonial[client_name]" size="40" />
    </p>
    <p>
        <label>بیزینس / آدرس سایت</label><br />
        <input type="text" value="<?php echo $source; ?>" name="testimonial[source]" size="40" />
    </p>
    <p>
        <label>لینک</label><br />
        <input type="text" value="<?php echo $link; ?>" name="testimonial[link]" size="40" />
    </p>
    <p>
        <label>تصویر</label><br />
        <input type="text" value="<?php echo $image; ?>" name="testimonial[image]" size="40" />
    </p>
    <?php
}

حال پس از قرار دادن این کد آن را ذخیره سازی کنید و سپس باید اطلاعات متاباکس را ذخیره سازی کنیم پس کد زیر را نیز در ادامه قرار دهید:

add_action( 'save_post', 'testimonials_save_post' );
function testimonials_save_post( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
        return;

    if ( ! empty( $_POST['testimonials'] ) && ! wp_verify_nonce( $_POST['testimonials'], 'testimonials' ) )
        return;

    if ( ! empty( $_POST['post_type'] ) && 'page' == $_POST['post_type'] ) {
        if ( ! current_user_can( 'edit_page', $post_id ) )
            return;
    } else {
        if ( ! current_user_can( 'edit_post', $post_id ) )
            return;
    }

    if ( ! wp_is_post_revision( $post_id ) && 'testimonials' == get_post_type( $post_id ) ) {
        remove_action( 'save_post', 'testimonials_save_post' );

        wp_update_post( array(
            'ID' => $post_id,
            'post_title' => 'Testimonial - ' . $post_id
        ) );

        add_action( 'save_post', 'testimonials_save_post' );
    }

    if ( ! empty( $_POST['testimonial'] ) ) {
        $testimonial_data['client_name'] = ( empty( $_POST['testimonial']['client_name'] ) ) ? '' : sanitize_text_field( $_POST['testimonial']['client_name'] );
        $testimonial_data['source'] = ( empty( $_POST['testimonial']['source'] ) ) ? '' : sanitize_text_field( $_POST['testimonial']['source'] );
        $testimonial_data['link'] = ( empty( $_POST['testimonial']['link'] ) ) ? '' : esc_url( $_POST['testimonial']['link'] );
		$testimonial_data['image'] = ( empty( $_POST['testimonial']['image'] ) ) ? '' : esc_url( $_POST['testimonial']['image'] );

        update_post_meta( $post_id, '_testimonial', $testimonial_data );
    } else {
        delete_post_meta( $post_id, '_testimonial' );
    }
}

حال پس از قرار دادن کد زیر باید لیست دیدگاه ها را نمایش دهیم که در قسمت بعد صورت میگیرد

منیع: فریش تم

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

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