2011-02-04 4 views
0

내 웹 사이트는시에 관한 것입니다.meta_value 및 title에 따라 표시된 게시물의 순서를 변경하려면 어떻게해야합니까?

메타 키가 '작성자'이고 메타 값이 작성자 이름 인 각시에 대해 맞춤 입력란을 사용합니다. "Allison, 제임스".

이제 위의 메타 값에 따라 사전 순으로 루프에 표시하고 싶습니다 (예 : "Allison, James"의 모든시, "Barnes, John"의 모든시). ","카터 (Carter), 수 (Sue) "등 모든 시들).

특정 저자 (= 메타 값)의시는 제목순으로 알파벳 순으로 정렬해야합니다 (예 : Allison, James : "After dark", "Before sunset"등). 이것을 할 수있는 방법이 있습니까? 아래 문자열을 찾았지만 작동하지 않을 수도 있습니다 (아마도 잘못된 위치에 놓았거나 제대로 작동하도록 다른 코드를 추가해야 할 수도 있습니다).

원하는 효과를 얻으려면 어떤 PHP 코드를 삽입해야하는지 생각해보십시오.

<?php 
$querystr = " 
    SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta 
    WHERE wposts.ID = wpostmeta.post_id 
    AND wpostmeta.meta_key = 'Autor' 
    AND wposts.post_type = 'post' 
    ORDER BY wpostmeta.meta_value ASC 
"; 

$pageposts = $wpdb->get_results($querystr, OBJECT); 

?> 


고마워요! 건배, 펠릭스

답변

0

무엇에 대해 :

DISTINCT $ wpdb-> 게시물 SELECT *, 저자 AS meta_value $ wpdb-> 게시물 LEFT은 $ wpdb-> 가입 FROM postmeta ON $ wpdb-> postmeta.post_id. = $ wpdb-가> 1 = 1 을 posts.ID 및 post_status는 = 를 '게시'AND post_type = '포스트'AND meta_key = 'Autor' ND의 post_password = ''저자 DESC BY ORDER;

0

드디어 asolution을 발견 : O)를 Ambrosite 플러그인을 사용하여, 나는 내 single.php에 아래의 코드를 추가 :

<?php 
    previous_post_link_plus(array(
     'loop' => true, 
     'link' => '«', 
     'format' => '%link', 
     'order_by' => 'custom', 
     'order_2nd' => 'post_title', 
     'meta_key' => 'Autor', 
     'order'=>'ASC', 
     'in_same_cat' => true 
    )); 
?> 

과 :

<?php 
    next_post_link_plus(array(
     'loop' => true, 
     'link' => '»', 
     'format' => '%link', 
     'order_by' => 'custom', 
     'order_2nd' => 'post_title', 
     'meta_key' => 'Autor', 
     'order'=>'ASC', 
     'in_same_cat' => true 
    )); 
?> 

그것은 잘 작동합니다! 어쨌든 고마워, Felix

관련 문제