2016-09-07 2 views
0

Попытка получить выдержку снаружи, но получается, что это не так просто, как первая мысль. Выдержка должна повторять текст перед большим тегом. Значение Я не задал конкретный максимальный объем писем, который должен содержать отрывок. Это потому, что я не хочу, чтобы предложения останавливались посреди них.Excerpt out loop

Я поставил пост идентификатор к следующему:

<?php $post_id = 27; ?> 

Затем я попытался добавить различные функции. Они находятся в StackOverflow и Google. Но почему-то я не могу заставить их работать. Я подозреваю, что некоторые из них старые и что WordPress изменился с тех пор.

Первая попытка:

function get_excerpt_by_id($post_id = 27) { 
    global $post; 
    $save_post = $post; 
    $post = get_post($post_id); 
    setup_postdata($post); 
    $excerpt = get_the_excerpt(); 
    $post = $save_post; 
    wp_reset_postdata($post); 
    return $excerpt; 
} 

Вторая попытка:

function my_excerpt($post_id) { 
    $post = get_post($post_id); 
    if ($post->post_excerpt) { 
     // excerpt set, return it 
     return apply_filters('the_excerpt', $the_post->post_excerpt); 

    } else { 
     setup_postdata($post); 
     $excerpt = get_the_excerpt(); 
     wp_reset_postdata(); 
     return $excerpt; 
    } 
} 

Любые идеи, как это должно быть решены?

Edit:

<?php $post_id = 27; // Endre denne ?> 
      <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id("$post_id"), full); ?> 

      <div style="background-image:url('<?php echo $image[0]; ?>')"> 
       <div class="col-md-6"> 
        <h1><?php echo get_the_title("$post_id");?></h1> 
        <div> 
        <?php get_post_field('post_excerpt', $post_id); ?> 
        <?php $excerpt = get_the_excerpt($post_id) ?> 
        <?php echo $excerpt; ?> 
        </div> 
        <div> 
         <a href="<?php echo get_permalink("$post_id");?>" rel="" id="trykklink" class="btn btn-outline-fill-white littluft nomarginleft" role="button" title="" onmouseover="this.title='';">Read more</a> 
        </div> 
       </div> 
       <div class="col-md-6"> 
       </div> 
      </div> 
+0

Как насчет попробовать прохождения post_id непосредственно в get_the_excerpt ($ post_id) – DpEN

ответ

1

Вы можете попробовать следующее

<?php get_post_field('post_excerpt', $post_id); ?> 

для получения дополнительной информации, пожалуйста, проверьте here

+0

Спасибо, извините за столь поздний ответ. Но это не работает ... – Olen

0
<?php $excerpt = get_the_excerpt($post) ?> 

$post может быть идентификатор сообщения или $ после объекта.

From WP Codex

+0

Спасибо. Извините за такой поздний ответ. Протестировал ваш код и узнал, что он не работает ... – Olen

+0

@Olen Это работает на 100% ... Какова ваша переменная $ post? –

+0

Я обновил свой HTML, см. Выше. – Olen