it-swarm.com.de

So rufen Sie Blog-Posts mit Shortcodes ab

Ich möchte die beiden neuesten Blog-Beiträge auf meiner Homepage abrufen. Ich möchte auch die Option, die Kategorie zu wählen, wenn ich auch möchte, aber hauptsächlich nur die neuesten 2 Blog-Beiträge ziehen.

Vielen Dank

1
kevin

fügen Sie diesen Code in die Datei functions.php Ihres Themas ein

function custom_query_shortcode($atts) {

   // EXAMPLE USAGE:
   // [loop_shortcode the_query="showposts=100&post_type=page&post_parent=453"]

   // Defaults
   extract(shortcode_atts(array(
      "the_query" => ''
   ), $atts));

   // de-funkify query
   $the_query = preg_replace('~&#x0*([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $the_query);
   $the_query = preg_replace('~&#0*([0-9]+);~e', 'chr(\\1)', $the_query);

   // query is made               
   query_posts($the_query);

   // Reset and setup variables
   $output = '';
   $temp_title = '';
   $temp_link = '';
   $temp_ex = '';
   $temp_content = '';
   $temp_thumb = '';
   $temp_id = '';

   // the loop
   if (have_posts()) : while (have_posts()) : the_post();
      $temp_id = $post->ID;
      $temp_title = get_the_title($post->ID);
      $temp_link = get_permalink($post->ID);
      $temp_content = get_the_content($post->ID);
      //$temp_ex = get_the_excerpt();
        if ( has_post_thumbnail() ) {
        $temp_thumb = get_the_post_thumbnail($post->ID);
        } else {
        $temp_thumb = "" ;
        }

      // output all findings -
     $output .= "<div class='post-$temp_id' id='post-$temp_id'>
                <h3 class='entry-title'>
                    <a title='$temp_title' rel='bookmark' href='$temp_link'>$temp_title</a>
                </h3><!--BEGIN .entry-content-->
                <div class='entry-content'>
                    <div class='theExrp'>
                    <p>
                        <a href='$temp_link'>
                            $temp_thumb
                        </a>
                    </p>
                    <p>$temp_content

                    </p>
                    </div>
                    <div><a class='more-link' href='$temp_link'>read more...</a></div><!--END .entry-content-->
                </div><!--END .hentry-->
            </div>";
    endwhile; else:
      $output .= "not found.";
   endif;
   wp_reset_query();
   return $output;
}
add_shortcode("loop_shortcode", "custom_query_shortcode");

bearbeiten Sie dann Ihre Homepage und fügen Sie diesen Shortcode hinzu, um die beiden neuesten Beiträge anzuzeigen:

[loop_shortcode the_query="posts_per_page=2&orderby=date&order=DESC"]

und wenn Sie die Kategorie auswählen möchten, fügen Sie diesen Funktionscode ein:

[loop_shortcode the_query="cat=CHANGETHIS&posts_per_page=2&orderby=date&order=DESC"]

und ersetze den CHANGETHIS durch deine Kategorie-ID oder deinen Namen.

2
Bainternet

Nun, Kevin, niemand hier wird Code für dich schreiben.

Um einen Shortcode zu erstellen, kannst du deine functions.php benutzen

Ein Beispiel wäre:

function hello() {

 return 'Hello, World!';

}

add_shortcode('yourshortcodename', 'hello');

Um Beiträge basierend auf Datum/Kategorie/etc zu erhalten, finden Sie die Parameterreferenz hier http://codex.wordpress.org/Function_Reference/query_posts

1
Wyck

wenn hier jemand auf der suche nach der lösung ist hier sehr nettes plugin

http://wordpress.org/extend/plugins/display-posts-shortcode/

0
Yasir