Intereting Posts
Как создать таблицу базы данных для конкретного блога в многопользовательском режиме? Редактировать родительское меню при создании страницы Удаленная страница в базе данных WordPress Как настроить функцию WordPress двадцатьtwelve_comment Почему wp_nav_menu () не показывает правильную работу при вызове два раза подряд? Сделайте плагин неинсталляционным в более старых версиях WordPress Могу ли я иметь термины с одинаковым слизью в одной таксономии? Как отобразить alt теги в img src? Else if Statement for Advanced Custom Fields Функция быстрого вызова функции обратного вызова, использующая переменную в начальном теге Как я могу вызвать функцию PHP внутри жесткокодированного кода? Нужна помощь в добавлении правил перезаписи на страницу Прикрепление мета-поля к определенной категории / таксономии в пользовательском типе сообщений Постоянная структура между двумя пользовательскими типами сообщений и таксономией Автоматизировать конфигурацию после новой / размещенной установки

Шаблон страницы с разным содержимым страницы и сообщения

Я использую тему wordpress, которая имеет шаблон страницы с именами roomtypes . Я не php pro, но насколько я понимаю, этот шаблон получает сообщения. Когда я добавляю тип комнаты, он создается как сообщение с post_type=roomtype .
Таким образом, этот шаблон получает эти сообщения, добавляет их название и миниатюру.

Моя проблема в том, что когда я создаю страницу и вношу какой-то текст, она не отображается, когда я выбираю этот шаблон.
Поэтому с некоторым рытьем я узнал, что the_content(); функция делает трюк. Я попытался добавить его, и это сработало 🙂
Дело в том, что я не могу использовать контент, в котором я нуждаюсь. Это код:

 <?php /* Template Name: Roomtypes */ global $wp_query; get_header();?> <div class="middle-inner-wrapper" style="background:#e7dfd6 url(<? php echo TEMPLATE_URL.get_option('tgt_default_inner_background');?>) no- repeat center top;"> <div class="localization"> <p class="site-loc"><a href="<?php echo HOME_URL;?>" style="color:white"> <?php echo get_option('tgt_hotel_name'); ? ></a></p><p>&raquo;&nbsp;<?php _e ('Rooms', 'hotel');?></p> </div> <div style="clear:both;"></div> <div class="middle-inner"> <div class="center-inner"> <!-- This is content --> <?php global $post; query_posts ("post_type=roomtype&orderby=name"); if ( have_posts() ) { ?> <div class="title"> <p class="h1"><?php _e ('Rooms', 'hotel');?></p> </div> <?php $i=0; while ( have_posts() ) { the_post(); $i++; //$thumbnail_id = get_post_thumbnail_id($post->ID); // $link_image = wp_get_attachment_image_src( $thumbnail_id, 'roomtype-image' ); //$link_thumbnail = wp_get_attachment_image_src($thumbnail_id); if(has_post_thumbnail()) { $thumbnail_id = get_post_thumbnail_id($post->ID); $link_image = wp_get_attachment_image_src( $thumbnail_id, 'roomtype-image' ); } else { $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_parent' => $post->ID, 'post_mime_type' => 'image' ); $attachments = get_posts($args); $link_image = wp_get_attachment_image_src( $attachments[0]->ID, 'roomtype-image' ); } ?> <?php if($i%2!=0){ ?> <div class="room-left"> <div class="room- box" align="center"> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <?php if ($link_image[0] != ''){ ?> <img src="<?php echo $link_image[0]; ?>" /> <?php } ?> </a> </div> <a class="room- link" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> </div> <?php } else{ ?> <div class="room-right"> <div class="room- box" align="center"> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <?php if ($link_image[0] != ''){ ?> <img src="<?php echo $link_image[0]; ?>" style="margin-top:3px;" /> <?php } ?> </a> </div> <a class="room- link" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> </div> <?php } }; }else{ ?> <div class="title"> <p class="h11"> <?php _e('No Rooms Available!', 'hotel') ?> </p> <div class="title-comments"> </div> <div class="news-content"> <p> <?php _e('Sorry, but this section has no rooms!', 'hotel'); ?> </p> </div> </div> <?php } ?> <?php wp_reset_query(); ?> <div style="clear:both;"></div> </div> </div> <?php get_sidebar();?> <div class="bottom"> <!--<img src="<?php echo TEMPLATE_URL;? >/images/inner-page-bottom.jpg" alt="inner_page_bottom_image"/>--> </div> </div> <!-- content end --> <?php get_footer();?> 

Мне нужен контент, где я указываю в коде, но некоторые, как при добавлении

 <div> <?php if (have_posts()) : while (have_posts()) : the_post();?> <?php the_content(); ?> <?php endwhile; endif; ?> </div> 

Все становится беспорядочным.
Если я добавлю the_content(); то это становится намного хуже, все сообщения этих сообщений показывают 🙁
Как я могу добавить только содержимое страницы, я использую шаблон страницы?

the_content() (и многие другие) должны находиться внутри The Loop .

Чтобы получить данные post / page / custom-post-type за пределами Loop, посмотрите здесь:
Получать содержимое сообщения вне цикла

Рабочий код, основанный на вашем примере , будет выглядеть следующим образом:

 <div class="middle-inner"> <div class="center-inner"> <!-- This is content --> <?php global $post; query_posts("post_type=roomtype&orderby=name"); if ( have_posts() ) { ?> <div class="title"> <p class="h1"><?php _e ('Rooms', 'hotel');?></p> </div> <?php $i=0; while ( have_posts() ) { the_post(); $i++; //$thumbnail_id = get_post_thumbnail_id($post->ID); // $link_image = wp_get_attachment_image_src( $thumbnail_id, 'roomtype-image' ); //$link_thumbnail = wp_get_attachment_image_src($thumbnail_id); <?php echo 'I NEED MY PAGE CONTENT HERE - just add the following line' ?> <?php the_content(); ?> if(has_post_thumbnail()) { $thumbnail_id = get_post_thumbnail_id($post->ID); $link_image = wp_get_attachment_image_src( $thumbnail_id, 'roomtype-image' ); } else { $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_parent' => $post->ID, 'post_mime_type' => 'image' ); $attachments = get_posts($args); $link_image = wp_get_attachment_image_src( $attachments[0]->ID, 'roomtype-image' ); } ?> 

Используйте get_the_content() чтобы сохранить содержимое страницы в переменной ( $page_content ), а затем вы можете использовать ее там, где она вам нужна. Если вы используете его внутри своего цикла для сообщений, используйте что-то вроде if ( $i == 0 ) echo $page_content поэтому он будет отображаться только один раз:

 <div class="middle-inner"> <div class="center-inner"> <!-- This is content --> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <?php $page_content = get_the_content(); ?> <?php endwhile; ?> <?php global $post; query_posts("post_type=roomtype&orderby=name"); if ( have_posts() ) { ?> <div class="title"> <p class="h1"><?php _e ('Rooms', 'hotel');?></p> </div> <?php echo $page_content; ?> <?php $i=0; while ( have_posts() ) { the_post(); $i++; //$thumbnail_id = get_post_thumbnail_id($post->ID); // $link_image = wp_get_attachment_image_src( $thumbnail_id, 'roomtype-image' ); //$link_thumbnail = wp_get_attachment_image_src($thumbnail_id); if(has_post_thumbnail()) { $thumbnail_id = get_post_thumbnail_id($post->ID); $link_image = wp_get_attachment_image_src( $thumbnail_id, 'roomtype-image' ); } else { $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_parent' => $post->ID, 'post_mime_type' => 'image' ); $attachments = get_posts($args); $link_image = wp_get_attachment_image_src( $attachments[0]->ID, 'roomtype-image' ); } ?>