Я знаю, что это действительно просто, но мне почему-то не приходит, и Google не помогает мне сегодня.
Я хочу выводить содержимое страниц, как это сделать?
Я подумал, что это так:
<?php echo the_content(); ?>
@Marc B Спасибо за комментарий. Помог мне открыть это:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); the_content(); endwhile; else: ?> <p>Sorry, no posts matched your criteria.</p> <?php endif; ?>
Это более красноречиво:
<?php echo get_post_field('post_content', $post->ID); ?>
и это еще больше:
<?= get_post_field('post_content', $post->ID) ?>
Для людей, которым не нравится ужасно выглядящий код с флеш-тегами, повредил всюду …
<?php if (have_posts()): while (have_posts()) : the_post(); the_content(); endwhile; else: echo '<p>Sorry, no posts matched your criteria.</p>'; endif; ?>
Просто поместите этот код в свой контент div
<?php // TO SHOW THE PAGE CONTENTS while ( have_posts() ) : the_post(); ?> <!--Because the_content() works only inside a WP Loop --> <div class="entry-content-page"> <?php the_content(); ?> <!-- Page Content --> </div><!-- .entry-content-page --> <?php endwhile; //resetting the page loop wp_reset_query(); //resetting the page query ?>
Содержание страницы может быть легко и просто отображено следующим образом:
<?php if(have_posts()) : ?> <?php while(have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content(); ?> <?php comments_template( '', true ); ?> <?php endwhile; ?> <?php else : ?> <h3><?php _e('404 Error: Not Found'); ?></h3> <?php endif; ?>
Заметка:
С точки зрения отображения содержимого – i) функция comments_template () является необязательной, если вам нужно включить комментирование с разной функциональностью.
ii) Функция _e () также является необязательной, но более значимой и эффективной, чем просто показ текста через <p>
. тогда как предпочтительный стилизованный 404.php может быть создан для перенаправления.
@Sydney Попробуйте положить wp_reset_query () перед вызовом цикла. Это отобразит содержимое вашей страницы.
<?php wp_reset_query(); // necessary to reset query while ( have_posts() ) : the_post(); the_content(); endwhile; // End of the loop. ?>
EDIT: попробуйте это, если у вас есть другие петли, которые вы ранее запускали. Место wp_reset_query (); где вы найдете его наиболее подходящим, но прежде, чем вы вызовете этот цикл.