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

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

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

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

برای نمایش لیست تمامی دیدگاه ها میتوانید از کد زیر استفاده کنید:

add_filter( 'manage_edit-testimonials_columns', 'testimonials_edit_columns' );
function testimonials_edit_columns( $columns ) {
    $columns = array(
        'cb' => '<input type="checkbox" />',
        'title' => 'عنوان',
        'testimonial' => 'دیدگاه مشتری',
        'testimonial-client-name' => 'نام مشتری',
        'testimonial-source' => 'بیزینس / سایت',
        'testimonial-link' => 'لینک',
        'author' => 'نویسنده',
        'date' => 'تاریخ'
    );

    return $columns;
}

add_action( 'manage_posts_custom_column', 'testimonials_columns', 10, 2 );
function testimonials_columns( $column, $post_id ) {
    $testimonial_data = get_post_meta( $post_id, '_testimonial', true );
    switch ( $column ) {
        case 'testimonial':
            the_excerpt();
            break;
        case 'testimonial-client-name':
            if ( ! empty( $testimonial_data['client_name'] ) )
                echo $testimonial_data['client_name'];
            break;
        case 'testimonial-source':
            if ( ! empty( $testimonial_data['source'] ) )
                echo $testimonial_data['source'];
            break;
        case 'testimonial-link':
            if ( ! empty( $testimonial_data['link'] ) )
                echo $testimonial_data['link'];
            break;

	case 'testimonial-image':
            if ( ! empty( $testimonial_data['image'] ) )
                echo $testimonial_data['image'];
            break;
    }
}

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

function get_testimonial( $posts_per_page = 1, $orderby = 'none', $testimonial_id = null ) {
    $args = array(
        'posts_per_page' => (int) $posts_per_page,
        'post_type' => 'testimonials',
        'orderby' => $orderby,
        'no_found_rows' => true,
    );
    if ( $testimonial_id )
        $args['post__in'] = array( $testimonial_id );

    $query = new WP_Query( $args  );

    $testimonials = '';
    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) : $query->the_post();
            $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'];
            $cite = ( $link ) ? '<a href="' . esc_url( $link ) . '" target="_blank">' . $client_name . $source . '</a>' : $client_name . $source;

            $testimonials .= '<aside class="testimonial">';
            $testimonials .= '<div class="entry-content">';
            $testimonials .= '<p class="testimonial-text">' . get_the_content() . '<span></span></p>';
            $testimonials .= '<p class="testimonial-client-name"><cite>' . $cite . '</cite><img src='.$image.' width="50" height="50"/>';
            $testimonials .= '</div>';
            $testimonials .= '</aside>';

        endwhile;
        wp_reset_postdata();
    }

    return $testimonials;
}

البته هر نمایشی در وب سایت ها و قالب های وردپرس نیاز به یک استایل زیبا دارد که کد زیر برای این مورد استفاده میشود:

p.testimonial-text {
background: #f5f5f5;
padding: 12px;
text-align: justify;
border-radius: 15px;
}

p.testimonial-text:after {
	background: url(image/btmarrow.png) no-repeat;
width: 63px;
display: block;
position: absolute;
content: " ";
color: #f5f5f5;
height: 40px;
}

.testimonial-client-name img {
display: inline-block;
border-radius: 50px;
margin-bottom: -20px;
margin-right: 10px;
}

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

منبع: فریش تم

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

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