bokovua
@bokovua
Любитель

Как в AJAX подгрузить значение произвольного поля?

Помогите пожалуйста разобраться.
Подгружаю посты на Wordpress AJAXом, все отлично работает, но не загружается часть данных, а именно переменная со значением, которое получает произвольное поле.
Одна запись выводится с условиями, в которых если запись имеет одно значение в произвольном поле (одна картинка) то пост выводится в одном виде, если имеет несколько значений в произвольном поле (несколько картинок), но имеет другой вид. в Цикле до подгрузки все работает, однако после срабатывания AJAX выводятся новые записи вообще без значения произвольных полей.

function true_load_posts(){
	$args = unserialize(stripslashes($_POST['query']));
	$args['paged'] = $_POST['page'] + 1; // следующая страница
	$args['post_status'] = 'publish';
	$q = new WP_Query($args);
	if( $q->have_posts() ):
		while($q->have_posts()): $q->the_post();
			 $img1 = get_post_meta($post->ID, 'image_upload_3035707669', true);
			?>
			<div  class="col-lg-11 shadow-sm mtop20 m20 bfff" id="post-<?php echo $postid; ?>"  >
   <div class="row">
	   
	   <?php $img1 = get_post_meta($post->ID, 'image_upload_3035707669', true); ?>
	   
   <? if ($img1 !== '' and $img1 >=2) {echo '<div class="col-lg-4 col-12 g0065"  style="background:url(' . wp_get_attachment_image_url( $img1, 'full' ) . '); background-size:cover; background-position:center; border-radius: 10px 0px 0px 10px;">
   
   <a href="'.wp_get_attachment_image_url( $img1, 'full' ).'" rel="lightbox" class="h02754"></a>
   </div>';} ?>
	   
   
<div class=" <? if ($img1 !== '' and $img1 >= 1) {echo 'col-lg-8';} else {echo 'col-lg-12';} ?>">
<div class="row ptop10">

<div class="col-2 col-sm-2 col-md-2 col-lg-2"> <div class="h80777" ><i class="fal fa-user"></i></div></div>
<div class="col-8 ">
	<div style="display: none;"> <? $autor = the_author(); ?></div>
<div class="col-12 h2015" ><? if ($autor == '') {echo '<i class="h0714">анонимный пост</i>';} else { the_author();} ?></div>
<div class="col-12 g20555"><i class="fal fa-clock iconpr5"></i><?php echo get_the_date('j F Y'); ?> <i class="far fa-eye iconpr5 iconpl10"></i> <? echo pvc_get_post_views() ?></div>
</div>
<div class="col-2 f502">

<!---<div class="uk-inline">
    <button class="uk-button uk-button-default g3025" type="button">...</button>
    <div class="g809" uk-dropdown="mode: click">
    <li>Пожаловаться</li>
    <li>Скрыть </li>
    </div>
</div> --->
</div>
</div>
<div class="row">
<div class="col-12 mtop20 mbottom10 h20251">
	<?  $cont = get_the_content();  
                            
while ( mb_strpos($cont,' ')!==false )
    {
    $cont = str_replace(' ','',$cont);
    }; 
                
$cont = mb_strlen(strip_tags($cont));
               
?>
	<? if ($cont < 100 and $img1 == '' ) { echo '<p class="singleposttext">' . get_the_content() . '</p>'; } else { echo '<p class="singleposttextfull">' . get_the_content() . '</p>';}  ?>

	
	
	<div class="row">
		<? if ($img1 <= 3 ) { ?>
<?  $grabMeta = get_post_meta( $post->ID, 'image_upload_3035707669', true );

$myvalues = unserialize( $grabMeta );

foreach ( $myvalues as $myvalue ) { 
    echo '<div class="col"><a rel="lightbox" href="' . wp_get_attachment_image_url( $myvalue, 'full' ) .'"><img class="h909045" style="width:100%;" src="' . wp_get_attachment_image_url( $myvalue,'prewpostbig' ) .' " /></a></div>';
} ?>
		<? }
		else { $grabMeta = get_post_meta( $post->ID, 'image_upload_3035707669', true );

$myvalues = unserialize( $grabMeta );

foreach ( $myvalues as $myvalue ) { 
    echo '<div class="col"><a rel="lightbox" href="' . wp_get_attachment_image_url( $myvalue, 'full' ) .'"><img class="h909045"  src="' . wp_get_attachment_image_url( $myvalue, 'prewpostsmall' ) .' " /></a></div>';
}   }
		
		
		
		?>
		</div>


 


 </div>
 </div>
<div class="row justify-content-between">
<div class="col-4 p20"><a href="<?php the_permalink(); ?>"><i class="fas fa-comment-alt"></i> <?php comments_number('0', '1', '%'); ?> </a><i class="fal fa-bookmark s201"></i></div>
  <div class="col-4 p20 text-right"><?php echo do_shortcode( '[wp_ulike]' ); ?></div>
</div>
   </div>
   </div>
  
  
	
   </div>


САМ скрипт подгрузки
jQuery(function($){
	$('#true_loadmore').click(function(){
		$(this).text('Загружаю...'); // изменяем текст кнопки, вы также можете добавить прелоадер
		var data = {
			'action': 'loadmore',
			'query': true_posts,
			'page' : current_page
		};
		$.ajax({
			url:ajaxurl, // обработчик
			data:data, // данные
			type:'POST', // тип запроса
			success:function(data){
				if( data ) { 
					$('#true_loadmore').text('Загрузить ещё').before(data); // вставляем новые посты
					current_page++; // увеличиваем номер страницы на единицу
					if (current_page == max_pages) $("#true_loadmore").remove(); // если последняя страница, удаляем кнопку
				} else {
					$('#true_loadmore').remove(); // если мы дошли до последней страницы постов, скроем кнопку
				}
			}
		});
	});
});
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы