WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

WP_query и апостроф

$line[0]="Santa's Wild Ride";
$query = new WP_Query(array('post_type'=>'it_games',
				'tax_query' => array(
					array(
						'taxonomy' => 'game_name',
						'field'    => 'name',
						'terms'    => stripslashes_deep($line[0])
					)
				)
	));
$id=0;
if($query->have_posts()) $id=$query->post->ID;
echo $id;

Если термин таксономии содержит символы: ‘, (, ) посты не находит, хотя они есть, я вижу в панели.
С остальными терминами работает.

Когда я привязываю пост к такому термину - операция проходит успешно. И в базе этот термин с апострофом появляется.

Я как-то не правильно стрипаю слешы? Или апостроф придется убрать? Есть ли способ оставить его в таксе? Так же со скобками.

campusboy 7 месяцев назад

Зачем вы вообще делаете stripslashes_deep?

0
GoodGod 7 месяцев назад
  • 0
    Kama4472

    stripslashes_deep() тут ничего не дает. Скорее наоборот можно попробовать добавить слэши: addslashes($line[0]).

    GoodGod 7 месяцев назад

    Вот оно че оказалось:
    https://wordpress.org/support/topic/wp_query-does-not-fetch-posts/

    Ну и stripslashes соответственно убрал.

    Kama 7 месяцев назад

    Так, и что, этот фильтр помог?

    // fix tax_query bug that double escapes name terms
    add_filter('pre_term_name', function( $term ) { return stripslashes( $term ); }, 40 );

    Опасный он какой-то...

    GoodGod 7 месяцев назад

    Да помог.
    Я даже не пытаюсь сейчас изучать ядро. Так что принял как есть и фиг с ним.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.