Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

Hướng dẫn sử dụng custom-field trong wordpress

Chủ đề thuộc danh mục 'Hướng dẫn/thủ thuật dành cho Wordpress tại đây' được đăng bởi banbaonylong, 28/7/14.

Lượt xem: 6,049

  1. banbaonylong Ko phải assmin

    Có nhiều plugin hỗ trợ thêm custom-field và sau nhiều lần dùng thử thì mình thấy Advanced Custom Field (ACF) chính là plugin tuỳ biến ngon nhất (cảm nhận cá nhân). Và dĩ nhiên để có thể hiểu đc những dòng bên dưới, bạn cần kiến thức nhất định về PHP, nếu bạn ko có thì mình cũng pó tay! :-?

    Hy vọng wa bài này, các bạn sẽ nắm đc các khái niệm
    1. Sử dụng ACF.
    2. Tích hợp NextGEN Gallery vào ACF.
    Đây là một dự án đã chạy: Requirements cho Dentsu Media Vietnam, mình gặp 1 trường hợp sau: họ muốn bài viết có 3 dạng: photo - video - article. Mỗi dạng sẽ có yêu cầu về custom-field khác nhau:
    1. Article là bài viết thông thường, chỉ cần thêm 1 hình đại diện
    2. Photo là album ảnh, cần 1 danh sách ảnh để hiển thị (sử dụng NextGEN Gallery vào ACF, cái này sẽ nói sau)
    3. Video chỉ hiển thị 1 clip media. (Do thật khó khăn nếu upload trực tiếp 1 media nặng vài chục đến vài trăm MB lên host nên mình chỉ cho nhập link media như utube thôi)

    Bước 1: Down plugin và cài đặt
    Đầu tiên, các bạn down ACF về từ trang chủ của chính nó: link
    (ACF có thể tạo custom field cho bài post, cho page và cho cả category! Nhưng các bước bên dưới chỉ sử dụngcho bài post, các dạng còn lại các bạn tự mò nhé, tương tự nhau)

    Bước 2:
    Sau khi cài ACF, bạn sẽ thấy đc plugin thêm 1 menu
    zXzqkTw.jpg

    Sau khi click vào, bạn sẽ thấy 1 danh sách group các custom field. Bạn có thể Add new để tạo group mới! (Như trong ảnh thì mình có sẵn 1 group rồi)
    dDEnInw.jpg

    Bước 3: Tạo custom-field
    8uyuj6h.png

    Bước 4: Sử dụng trong code
    Bạn cần lấy được ID của bài post
    1. Lấy "cứng" số id: xem wa: Hướng dẫn đặt 1 bài viết (post) lên trang chủ trong wordpress
    2. Nếu bạn viết code ở single. php thì chỉ gọi
      PHP:
      global $post;
      $id $post->ID;
    Như ảnh ở bước 3 ta có 4 field, như vậy code lấy từng field như sau:
    PHP:
    //get type of news
    get_field'type_of_news'$id);

    //get display image
    get_field'display_image'$id);

    //get  gallery name
    get_field'custom_gallery'$id);

    //get video link
    get_field'custom_video'$id);
    Tuỳ theo layout mà các bạn echo nó ra thôi :P

    Bước 5: Tích hợp NextGEN Gallery vào ACF.
    Chuẩn bị:
    1. NextGen Gallery: link (Nếu có tiền, bạn cứ mua bản premium của NextGEN Gallery thì sẽ có support cho gallery sẵn lun!)
    2. Advanced Custom Fields: NextGen Gallery Custom Field: link
    Chỉ cần cài vào thì dòng
    PHP:
    get_field'custom_gallery'$id);
    sẽ get đc 1 array link ảnh... bạn sử dụng tuỳ thích như:
    PHP:
    $c get_field'custom_gallery'$id);
    for(
    $j=0;$j<count($c[0]);$j++){
       echo  
    '<div><img u="image" src="'.$c[0][$j]["imageURL"].'" /></div>';
    }    

    ...
    Phạm Hữu Dưmylove29 thích bài viết này.
  2. 7321550LHT

    7321550LHT Mới đăng kí

    em đã đọc và làm theo mà ko được ạ, bác chỉ em add code vào chỗ nào trong file single. php đính kèm với ạ, làm sao mà ko ảnh hưởng đến những code trước đó ạ, cảm ơn bác, bác chịu khó copy link vì em chưa đủ bài viết ạ
    mediafire.com/download/w7eb08ffc1tmloi/single. php

    p/s em đã thử bằng cách xóa hết code trong đó, chỉ còn while thôi, kết quả là hiển thị được ạ, mà cái em mong muốn ko phải là hiển thị trong bài viết mà là hiển thị ở ngoài bài viết (bài viết ở đây là 1 bài tin về sản phẩm, ngoài bài viết là trước khi click vào xem thì nó hiển thị các thông tin như giá cả, xuất xử, ...)
  3. banbaonylong

    banbaonylong Ko phải assmin

    viết trong single. php mà trong với ngoài bài viết là sao không hiểu?
  4. 7321550LHT

    7321550LHT Mới đăng kí

    mediafire.com/view/3p1d5ms2dinxsfg/Untitlerrfrfrfrd.png
    là giống như vậy đây ạ
  5. banbaonylong

    banbaonylong Ko phải assmin

    viết trong category. php hay page. php chứ?
  6. 7321550LHT

    7321550LHT Mới đăng kí

    là viết cho category
  7. banbaonylong

    banbaonylong Ko phải assmin

    thì chỉnh sửa trong category. php, mỗi foreach thì lấy đc ID bài viết 1 lần
  8. 7321550LHT

    7321550LHT Mới đăng kí

    đầu em giờ rối như tơ vò luôn, hic, bác làm demo cho em được ko ạ, em dùng theme sahifa 3.4.0 đó ạ
    đây là file category. php của theme ạ

    <? php get_header(); ?>
    <div class="content">
    <? php tie_breadcrumbs() ?>
    <? php $category_id = get_query_var('cat') ; ?>
    <div class="page-head">
    <h2 class="page-title">
    <? php printf( __( 'Category Archives: %s', 'tie' ), '<span>' . single_cat_title( '', false ) . '</span>' ); ?>
    </h2>
    <p><? php the_field('news group', 'category_1'); ?></p>
    <? php if( tie_get_option( 'category_rss' ) ): ?>
    <a class="rss-cat-icon ttip" title="<? php _e( 'Feed Subscription', 'tie' ); ?>" href="<? php echo get_category_feed_link($category_id) ?>"><? php _e( 'Feed Subscription', 'tie' ); ?></a>
    <? php endif; ?>
    <div class="stripe-line"></div>

    <? php
    if( tie_get_option( 'category_desc' ) ):
    $category_description = category_description();
    if ( ! empty( $category_description ) )
    echo '<div class="clear"></div><div class="archive-meta">' . $category_description . '</div>';
    endif;
    ?>
    </div>
    <? php tie_include( 'slider-category' ) ?>
    <? php get_template_part( 'loop', 'category' ); ?>
    <? php if ($wp_query->max_num_pages > 1) tie_pagenavi(); ?>

    </div> <!-- .content -->

    <? php get_sidebar(); ?>
    <? php get_footer(); ?>
  9. ramoskahlo

    ramoskahlo Mới đăng kí

    Cái này rất hay mà dễ dùng này

Ủng hộ diễn đàn