Beiträge nach benutzerdefiniertem Feld sortieren
Um Beiträge nach benutzerdefinierten Feldern zu sortieren, bedarf es einer eigenen Funktion, die Sie zunächst modifizieren müssen. Anschließend kopieren Sie diese in die Datei function.php. Sollte diese in Ihrem Template-Ordner noch nicht vorhanden sein, so erstellen Sie diese einfach mit Hilfe eines Editors.
Der Code steht Ihnen auch zum Download zur Verfügung.
function getTopArticles($count){
global $wpdb;
$count = intval($count);
$beitraege = $wpdb->get_results(”SELECT post_id FROM $wpdb->postmeta WHERE meta_key =’Nachname’ ORDER BY meta_value ASC LIMIT 0, $count”);
if ($beitraege){
foreach ($beitraege as $beitrag){
$title = wptexturize(get_the_title($beitrag->post_id));
$my_content = get_the_content($beitrag->post_id);
$link = get_permalink($beitrag->post_id);
echo ‘<div class=”post”><div class=”entry”>’;
echo ‘<strong><a href=”‘.$link.’” rel=”bookmark” title=”Permanent Link to ‘.$title.’”>’.$title.’</a></strong><br />’;
$my_posts = get_posts(’include=’.$beitrag->post_id.’category=11′);
foreach($my_posts as $my_post) :
setup_postdata($my_post);
the_content($beitrag->post_id);
endforeach;
$ref_title=$title;
$ref_title=html_entity_decode($ref_title, ENT_NOQUOTES, “UTF-8″);
$myCat_Content = get_posts(’numberposts=999&cat=9′);
sort($myCat_Content);
if (is_array($myCat_Content)) {
$i=0;
foreach ($myCat_Content as $ws_post) {
$values=”";
$values = get_post_custom_values(’referent’,$ws_post -> ID);
foreach ( $values as $key => $value ) {
if (stripos(trim($value),trim($ref_title))===false) {} else {
if ($i==0) {$i++; echo ‘<strong>Workshops:</strong><br />Referent/In:<br />’;}
echo ‘<a href=”‘.get_permalink($ws_post -> ID).’” rel=”bookmark” title=”Permanent Link to ‘.$ws_post -> post_title.’”>’.$ws_post -> post_title.’</a><br />’;
}
}
$values=”";
$values = get_post_custom_values(’moderation’,$ws_post -> ID);
foreach ( $values as $key => $value ) {
if (stripos(trim($value),trim($ref_title))===false) {} else {
if ($i==0) {$i++; echo ‘<strong>Workshops:</strong><br />’;}
if ($i==1) {$i++; echo ‘Moderator:
‘;}
echo ‘<a href=”‘.get_permalink($ws_post -> ID).’” rel=”bookmark” title=”Permanent Link to ‘.$ws_post -> post_title.’”>’.$ws_post -> post_title.’</a><br />’;
}
}
}
}
echo ‘</div></div>’;
}
}
else {
echo ‘<div class=”post”><div class=”entry”>keine Mitglieder gefunden.</div></div>’;
}
}
?>
Die folgenden Zeilen ersetzen den Loop.
<?php
if (function_exists(’getTopArticles’)):
echo ‘<div class=”post”><div class=”entry”><h3>Referenten</h3></div></div>’;
getTopArticles(45);
endif;
Nutzung auf eigene Gefahr!









14:33
abgelegt unter: 