2015-01-22 2 views
0

Я использую тему, которая использует страницу блога, чтобы отображать все содержимое на странице блога, а не выдержку, а затем, когда я нажимаю на сообщение, я хочу показать весь контент ,Wordpress post Loop не работает как ожидалось

Я использую следующий код:

$postId = get_the_ID(); 
     $ex = the_excerpt(); 

     if($postId == 19){ 

      echo $ex; 


     } 

     else{ 

      echo $content; 

     } 

страница блога находится в пост = 19

Я бы ожидать только отрывок, чтобы показать на странице блога, и содержание, чтобы показать на почтовая страница. Однако оба показывают. Также не имеет значения, изменил ли я номер 19 в моей инструкции if, так же как и произойдет. Может ли кто-нибудь увидеть, где я ошибаюсь?

редактировать сделаны изменения, снимки экрана:

enter image description here enter image description here

ответ

0
Use $postId = get_queried_object_id(); instead of $postId = get_the_ID(); 
+0

Благодарим вас, что отлично работает на странице блога, однако отдельные страницы блога теперь показывают выдержку и содержание. – Ricky

+0

Можете ли вы отправить скриншот? –

+0

добавлены скриншоты – Ricky

1

функции, такие как the_excerpt() доступны только внутри цикла или после вызова функции the_post()

Вы МАЕ хотите отображать только исключение в вашем index.php

while (has_posts()) { 
    the_post(); 

    the_excerpt(); 
} 

В вашем single.php вы можете отобразить все содержимое

if(has_posts()) { 
    the_post(); 

    the_content(); 
} 
+0

Спасибо за помощь помощник – Ricky

+0

@jrarama, 'the_content()' сам используется для вывода содержимого, чтобы он не требовал 'echo the_content();'. то же самое для 'the_excerpt()' –

+0

@Jenis Спасибо за исправление – jrarama

1

Вы должны использовать the_excerpt(); внутри условия означает, где вы хотите, чтобы отобразить выдержку, но в случае, если вы хотите, чтобы получить значение отрывка но не хочет, чтобы отобразить его непосредственно, то вы должны использовать get_the_excerpt(); так что вам нужно изменить

$ex = the_excerpt(); 

to 

$ex = get_the_excerpt(); 

И так же обстоит дело с the_content()

Надеюсь, это вам поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^