2017-11-02 14 views
0

抜粋のないポストの最初の数単語を得るにはどうすればよいですか?私はポストワルドリーフの言葉を少ししか入手しない

$args = array(
    'posts_per_page' => 5, 
    'offset'   => 0, 
    'category'   => '', 
    'category_name' => 'Energy', 
    'orderby'   => 'date', 
    'order'   => 'DESC', 
    'include'   => '', 
    'exclude'   => '', 
    'meta_key'   => '', 
    'meta_value'  => '', 
    'post_type'  => 'post', 
    'post_mime_type' => '', 
    'post_parent'  => '', 
    'author'  => '', 
    'author_name'  => '', 
    'post_status'  => 'publish', 
    'suppress_filters' => true 
); 
$posts_array = get_posts($args); 

foreach($posts_array as $postCategory) 
{ 
    echo get_the_title($postCategory->ID); 
    echo get_permalink($postCategory->ID); 
    echo get_the_excerpt($postCategory->ID); // THIS WITH OU WITHOUT EXCERPT DOES NOT WORK 
} 

コードは、タイトルとパーマリンクを印刷しているが、それはポストの最初のいくつかの単語を印刷しません。

投稿の最初の数行を、引用符区切り文字があるかどうかにかかわらず印刷する方法を理解したいと思います。

おかげ

答えて

2
    $trimtitle = get_the_content($post->ID); 
        $shorttitle = wp_trim_words($trimtitle, $num_words = 15, $more = '… ');?> 
        <?php echo $shorttitle; ?> 
+0

キャラクターを表示したいと思ったことに基づいて15を変更してください –

0

これを行うには、次の機能を追加する必要があります。

$content_post = get_post($postCategory->ID); 
$content = $content_post->post_content; 
$content = apply_filters('the_content', $content); 
$content = str_replace(']]>', ']]&gt;', $content); 
echo truncate_string($content, 75); 

(に75を変更:

function truncate_string ($string, $maxlength) { 

    // Set the replacement for the "string break" in the wordwrap function 
    $cutmarker = "**cut_here**"; 

    // Checking if the given string is longer than $maxlength 
    if (strlen($string) > $maxlength) { 

     // Using wordwrap() to set the cutmarker 
     // NOTE: wordwrap (PHP 4 >= 4.0.2, PHP 5) 
     $string = wordwrap($string, $maxlength, $cutmarker); 

     // Exploding the string at the cutmarker, set by wordwrap() 
     $string = explode($cutmarker, $string); 

    } 

    // returning $string 
    return $string; 

} 

は、その後、あなたのforeachループ内で、次を追加しますあなたが好きな長さ)