2012-02-14 26 views
5

Tôi đang sử dụng Hộp Verve Meta. Tôi muốn tạo một menu từ một trong các trường tùy chỉnh. Làm thế nào tôi có thể trả về tất cả các giá trị trường tùy chỉnh? Ví dụ: nếu tôi có trường chọn tùy chỉnh được gọi là "trái cây" và tùy chọn tôi có "quả táo", "cam" và "chuối", làm cách nào để có danh sách đầy đủ các giá trị đó, như một mảng có lẽ? Tôi có thể nhận được thông tin được liên kết với bài đăng:Wordpress: Nhận tất cả các giá trị của trường tùy chỉnh

get_post_custom_values('fruit') 

… nhưng tôi không thể biết cách lấy toàn bộ danh sách.

Cảm ơn bạn trước!

+0

Sau khi nhìn xung quanh, tôi nghĩ rằng get_categories() có thể là câu trả lời. Đã không thử nó, nhưng tôi sẽ báo cáo lại. http://codex.wordpress.org/Function_Reference/get_categories – Imaginary

Trả lời

6

Trong trường hợp ai đó vẫn tự hỏi:

global $wpdb; 
$results = $wpdb->get_results('SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key LIKE "FIELD_NAME"', OBJECT); 

Chỉ cần chắc chắn bảng postmeta của bạn là "wp_postmeta" (mặc định) và thay đổi FIELD_NAME với tên bạn đã tạo cho các trường trong admin.

+0

Điều này có vẻ tốt hơn so với giải pháp hacky của tôi. Tôi sẽ thử nó khi tôi có cơ hội, nhưng có vẻ tốt và tôi cá là nó hoạt động. Cảm ơn! – Imaginary

0

Bạn có thể làm điều đó theo cách thông thường bằng cách sử dụng hàm get_post_meta trong vòng lặp của bạn.

+0

Điều đó không chỉ nhận được các giá trị được liên kết với một bài đăng cụ thể, giống như get_post_custom_values ​​của tôi? – Imaginary

0

Hãy thử này ra:

$fruits = trim(get_post_meta($post->ID,'fruits',true)); 
$fruits_array = explode(',',$fruits); 
foreach($fruits_array as $f){ 
    echo $f.'<br/>'; 
} 

Về cơ bản bạn cần phải tách biệt tên các loại trái cây của bạn với dấu phẩy trong lĩnh vực tùy chỉnh của bạn để bạn sẽ có thể phát nổ chúng vào mảng và echo các giá trị từng cái một.

Xin cảm ơn, Dave

+1

Không bao giờ thấy điều này, xin lỗi. Một lần nữa, điều này sẽ chỉ nhận được các giá trị được liên kết với một bài đăng duy nhất. Tôi cần thiết để có được tất cả các tùy chọn có sẵn, cho dù họ đã áp dụng cho một bài đăng hay không. – Imaginary

0

Tôi không thể tìm được giải pháp thanh lịch. Những gì tôi đã kết thúc làm là lặp qua tất cả các bài viết và giữ một bản ghi các giá trị duy nhất như tôi có thể trên chúng, tạo ra một mảng. Sau đó, tôi đã sử dụng mảng đó để điều hướng.

Các vấn đề liên quan