Задать вопрос
@a22432
Немного Web

Почему WordPress WP_Query() не выводит ссылки из поля ACF?

В WordPress ACF есть поле для страниц тип "Ссылка на страницу" (page_link) пытаюсь отфильтровать все страницы где указана определённая ссылка и ничего не получается. Код пишу такой:
$args = array(
	'post_type'  => 'page',
	'meta_query' => array(
		array(
			'key' => 'razmer',
			'value' => 'https://домен/400mmx40mm/',
		)
	)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
	while ( $query->have_posts() ) {
		$query->the_post();
		echo '<li>' . get_the_title() . '</li>';
	}
} else{
	echo 'Ничего';
}


Ничего не находит, хотя страница с таким полем и адресом есть.
Может в value нужно передавать не ссылку ?
Что я делаю не так кто может подсказать ?)
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
cesnokov
@cesnokov
<head>&nbsp;</head>
Поле типа "page_link" хранит в себе ID страницы а не её URL (исключение станицы в Архиве).

UPDATE:
$post_id = url_to_postid('https://домен/400mmx40mm/');
$args = array(
	'post_type' => 'page',
	'meta_query' => array(
		array(
			'key' => 'razmer',
			'value' => $post_id,
		)
	)
);
Ответ написан
@a22432 Автор вопроса
Немного Web
Спасибо yarovikov и Павел Чесноков
Нужно было писать:
$args = array(
  'post_type'  => 'page',
  'meta_query' => array(
    array(
      'key' => 'razmer',
      'value' => 289,
      'compare' => 'LIKE'
    )
  )
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
  while ( $query->have_posts() ) {
    $query->the_post();
    echo '<li>' . get_the_title() . '</li>';
  }
} else{
  echo 'Ничего';
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы