Intereting Posts
как переделать мое меню в подменю Как добавить и очистить пользовательские типы сообщений и таксономии в плагине? Рассмотрение существующих данных Показать мета-поля типа персонализированного сообщения только на странице Редактировать изменить верхний баннер на определенной странице Добавьте подтверждение captcha в мою собственную форму для публикации в Frontend Я хочу отображать пользовательские текстовые виджеты для каждого сообщения на боковой панели? Является ли wp-content / install.php Drop-in? Изменение Woocommerce languange на многоуровневой установке Как заставить WP_Query не показывать ненужные сообщения? Таблица базы данных WP в файл CSV Как получить все пользовательские поля с некоторым префиксом в ключе? Как отобразить заголовок сообщения внутри миниатюры? Как использовать hook_ admin_init для add_action для настраиваемого столбца типа сообщения Как перегрузить виджеты update () существующих? Сообщение об ошибке в сообщениях в блоге только в моей локальной среде

циклическое использование пользовательских типов сообщений с метаданными

Мне очень любопытно, как может быть самый быстрый способ прокрутки настраиваемого типа сообщений с метаданными. У меня есть код, который работает, но он медленный. Я использую wp_query, и он работает.

У меня также есть куча условностей, которые проверяют, существуют ли метаданные, и если да, делать что-то, что обычно отображается, и несколько раз отображать небольшое изображение. Есть 47 пользовательских типов сообщений, но, возможно, я просто слишком много делаю на одной странице? Я думал об использовании ajax для их загрузки (вроде бесконечной прокрутки), но я не уверен в лучшем методе.

Мне было интересно, что «стоит» зацикливания, хотя пользовательские типы сообщений с более чем 30 различными полями метаданных? Есть ли лучший способ сканирования через таблицы или есть другие методы, которые не имеют высоких накладных расходов?

Благодаря!

Вот мой код, и я также проверю эти инструменты.

<?php $count = 0; ?> <?php $args = array( 'post_type' => 'property', 'posts_per_page' => 100, 'orderby' => 'meta_value', 'meta_key' => 'random_775', 'order' => 'ASC' ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="<?php wpp_css('property_overview::row_view', "wpp_row_view wpp_property_view_result"); ?>"> <div class="<?php wpp_css('property_overview::all_properties', "all-properties"); ?>"> <?php $countyCheck = $theCounty; $theCounty = get_post_meta( get_the_ID(), 'random_775', true ); if ($theCounty != $countyCheck ){ echo '<h2 class="propTitleh2">' . $theCounty . ' County</h2>'; } ?> <a href="<?php the_permalink(); ?>"> <div class="<?php wpp_css('property_overview::property_div', "property_div {$property['post_type']} clearfix"); ?>"> <ul class="<?php wpp_css('property_overview::data', "wpp_overview_data"); ?>"> <?php $sArea = get_post_meta( get_the_ID(), 'area', true ); $nArea = preg_replace('/[^0-9]/','',$sArea); $nArea = $nArea / 43560; // convert square feet area into acres $sArea = number_format($nArea,1,'.',','); echo '<div id="overview_main_column">'; echo '<div id="overview_left_column">'; echo '<li><h3>' . get_post_meta( get_the_ID(), 'total_acres', true ) . ' acres +/- for sale</h3></li>'; echo '<div id="propBulletPointsBlock">'; $first_bullet_point_check = get_post_meta( get_the_ID(), 'first_bullet_point', true ); if (isset($first_bullet_point_check[0])) { $firstPost = $first_bullet_point_check; $firstPost = substr($firstPost, 0, 30); echo '<li><div class="propBulletPoints">· ' . $firstPost . '...</div></li>'; } $second_bullet_point_check = get_post_meta( get_the_ID(), 'second_bullet_point', true ); if (isset($second_bullet_point_check[0])) { $secondPost = $second_bullet_point_check; $secondPost = substr($secondPost, 0, 30); echo '<li><div class="propBulletPoints">· ' . $secondPost . '...</div></li>'; } $third_bullet_point_check = get_post_meta( get_the_ID(), 'third_bullet_point', true ); if (isset($third_bullet_point_check[0])) { $thirdPost = $third_bullet_point_check; $thirdPost = substr($thirdPost, 0, 30); echo '<li><div class="propBulletPoints">· ' . $thirdPost . '...</div></li>'; } $turn_key_check = get_post_meta( get_the_ID(), 'turn_key', true ); if ( $turn_key_check == 'true' ) { echo '<li><div class="specialFeaturedTag"><img class="reduced-price-overview-img" src="' . get_template_directory_uri() . '/images/turnKeyLabel.png"></div></li>'; } echo '</div>'; echo '</div>'; echo '<div id="overview_right_column">'; //display image the_post_thumbnail(); $pending_check = get_post_meta( get_the_ID(), 'pending', true ); if ( $pending_check == 'true' ) { echo '<div class="reduced-price-overview"> <img class="reduced-price-overview-img" src="' . get_template_directory_uri() . '/images/pendingRibbon.png"> </div>'; } $sold_check = get_post_meta( get_the_ID(), 'sold', true ); if ( $sold_check == 'true' ) { echo '<div class="reduced-price-overview"> <img class="reduced-price-overview-img" src="' . get_template_directory_uri() . '/images/soldRibbon.png"> </div>'; } echo '</div>'; echo '</div>'; $sAddress = get_post_meta( get_the_ID(), 'address', true ); $asAddress = explode(',',$sAddress); if (is_array($asAddress)) { // remove country array_pop($asAddress); } if (is_array($asAddress)) { // remove zip $sStateCode = array_pop($asAddress); $sStateCode = preg_replace('/[^AZ]*/','',$sStateCode); } $sCounty = get_post_meta( get_the_ID(), 'random_775', true ); $sAddress = "$sCounty, $sStateCode"; echo '<div class="propertyRight">'; echo '<p class="propertyBg">' . get_post_meta( get_the_ID(), 'random_775', true ) . ' Co.</p>'; echo '<p>PRICE</p>'; echo '<div id="mobilePropPrice">' . get_post_meta( get_the_ID(), 'price', true ) . '</div>'; echo '<div id="specialFeaturedTagList">'; $tillable_check = get_post_meta( get_the_ID(), 'tillable', true ); if ( $tillable_check == 'true' ) { echo '<li><div class="specialFeaturedTag"><img class="reduced-price-overview-img" src="' . get_template_directory_uri() . '/images/tillableLabel.png"></div></li>'; } $tillable_check = get_post_meta( get_the_ID(), 'reduced_price', true ); if ( $tillable_check == 'true' ) { echo '<li><div class="specialFeaturedTag"><img class="reduced-price-overview-img" src="' . get_template_directory_uri() . '/images/reducedPriceLabel.png"></div></li>'; } echo '</div>'; echo '</div>'; ?> <?php $children_check = get_post_meta( get_the_ID(), 'children', true ); if($show_children && $children_check): ?> <li class="child_properties"> <div class="wpd_floorplans_title"><?php echo $child_properties_title; ?></div> <table class="wpp_overview_child_properties_table"> <?php foreach($children_check as $child): ?> <tr class="property_child_row"> <th class="property_child_title"><a href="<?php echo $child['permalink']; ?>"><?php echo $child['post_title']; ?></a></th> <td class="property_child_price"><?php echo $child['price']; ?></td> </tr> <?php endforeach; ?> </table> </li> <?php endif; ?> <?php if(!empty($wpp_query['detail_button'])) : ?> <li><a <?php echo $in_new_window; ?> class="button" href="<?php echo $property['permalink']; ?>"><?php echo $wpp_query['detail_button'] ?></a></li> <?php endif; ?> </ul>