2016-07-24 36 views
0

Ich habe versucht, Shortcode für benutzerdefinierte Taxonomie Begriffe dynamisch zu erstellen. Aber versäumte es. Angenommen, es gibt einen Begriff namens "Wordpress", dann sollte ich in der Lage sein, alle mit diesem Begriff verknüpften Beiträge über den Shortcode abzufragen. Um genauer zu sein, nehmen wir an, es gibt eine Taxonomie mit dem Namen "event", und unter dieser Taxonomie gibt es mehrere Begriffe. Also habe ich versucht, Beiträge unter jedem Begriff über den Shortcode jedes Begriffes abzufragen. HierWordPress Shortcodes für Begriffe

ist, was ich versuchte:

function wordpress_recent_post($atts, $content) { 
    $a = shortcode_atts(array(
    'cat' => '', 
), $atts); 
    $args = array(
    'posts_per_page' => 1, 
    'offset' => 0, 
    'category_name' => $a['cat'], 
    'orderby' => 'post_date', 
    'order' => 'DESC', 
    'post_type' => 'post', 
    'post_status' => 'publish', 
    'ignore_sticky_posts' => true, 
); 
    $recent_posts = new WP_Query($args); 
    ob_start(); 
    if (! $recent_posts-> have_posts()) { 
    return 'No Posts Found for ' . $a['cat']; 
    } 
    while ($recent_posts->have_posts()) { 
    $recent_posts->the_post(); 
    the_title('<h2>', '</h2>'); 
    if ('' != $a['cat']) { 
     $href = '/category/' . $a['cat']; 
    } else { 
     $href = '/blog'; 
    } 
    echo "<p><a href='$href'>Read More" . ucwords($a['cat']) . '</a></p>'; 
    } 
    wp_reset_query(); 
    return ob_get_clean(); 
} 
add_shortcode('wordpress_recent_post', array($this, 'wordpress_recent_post')); 

Und dann habe ich diese die Beiträge von einem Begriff nennen genannt "Feature" mit id = '183' (annehmen) [wordpress_recent_post cat = "183" ]

Jede Hilfe wäre wirklich sehr spürbar.

Danke!

Antwort

1

Hinzufügen von Begriff Slug hat es getan. Es sollte Slug nicht ID, wie folgt sein: [wordpress_recent_post cat = "Funktionen"]