Я хожу по кругу уже несколько недель - похоже, я не могу упорядочить свой собственный тип сообщений по заголовку -
У меня есть пользовательский поиск поблизости функция, поэтому я хочу сохранить ее - мои пользовательские запросы к публикациям отображаются по релевантности заголовка на стороне администратора WP, но не спереди.
Я нашел код сообщений pre_fetch и изменил мета с «даты» заказа на «заголовок» и с «DESC» на «ASC» - очистил кеш-сервер и браузер сторона, но все равно никакой радости.
Я думаю, что это должно быть очень просто, но ничего из того, что я здесь меняю, кажется, не работает - SQL кэшировал мои предыдущие ошибочные запросы и все еще возвращает данные?
Какой-нибудь совет по этой непонятной проблеме
уже устал добавлять arg в function.php для переопределения post oder, но это не работает
как уже говорилось, мы изменили собственный почтовый индекс, чтобы попытаться возвращать запросы по заголовку ASC, а не по дате DESC, но здесь также нет изменений в результатах запроса
/**
* filter orderby
*/
if (isset($_REQUEST['sortby'])
&& ( $query->is_main_query() || (isset($query->query_vars['meta_key']) && $query->query_vars['meta_key'] == 'rating_score_comment') )
) {
if ($_REQUEST['sortby'] !== 'date') {
// $query->query_vars['meta_key'] = $_REQUEST['sortby'];
$query->set('orderby', 'meta_value_num');
} else {
// order by date
$query->set('orderby', 'date');
}
// order desc
$query->set('order', 'DESC');
}
// order by rating score
if(isset($_REQUEST['query']['orderby']) && $_REQUEST['query']['orderby'] == 'rating_score_comment') {
$query->set('orderby', 'meta_value_num date');
if( !isset($_REQUEST['query']['meta_key'] ) ) {
$query->query_vars['meta_key'] = $_REQUEST['query']['orderby'];
$query->meta_query = array(
//check to see if et_featured has been filled out
'relation' => 'OR',
array(
//check to see if date has been filled out
'key' => $_REQUEST['query']['orderby'],
'compare' => 'BETWEEN',
'value' => array(
0,
5
)
),
array(
//if no et_featured has been added show these posts too
'key' => $_REQUEST['query']['orderby'],
'value' => '',
'compare' => 'NOT EXISTS'
)
);
}else{
// order by rating score for feature block
if($_REQUEST['query']['meta_key'] == 'et_featured') {
$query->set('orderby', 'menu_order');
$query->set('meta_query' , array(
array(
'key' => 'rating_score_comment',
// 'value' => array(0, 5),
// 'compare' => 'BETWEEN'
),
array(
'key' => 'et_featured',
'value' => '1',
'compare' => 'LIKE'
)
));
}
if($_REQUEST['query']['meta_key'] == 'de_event_post') {
// order by rating score for event block
$query->set('orderby', 'menu_order');
$query->set('meta_query' , array(
array(
'key' => 'rating_score_comment',
'value' => array(0, 5),
'compare' => 'BETWEEN'
),
array(
'key' => 'de_event_post',
'value' => '',
'compare' => '!=',
'type' => 'NUMERIC'
)
));
}
}
}
// Orderby featured
// if(is_search()){
// $query->set('meta_key', 'et_featured');
// $query->set('orderby', 'meta_value_num date');
// }
$is_search = ! (empty($_REQUEST['query']) || empty($_REQUEST['query']['s']));
if ((et_load_mobile() && !is_single() ) && !$is_search && (isset($query->query_vars['orderby']) && $query->query_vars['orderby'] != 'rand')) {
if (!is_author() && isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == $this->post_type) {
if(!isset($query->query_vars['near_lat']) || $query->query_vars['near_lat'] == '' ){
$query->set('orderby', 'meta_value_num date');
}
// if (isset($query->query_vars['meta_value'])) {
// unset($query->query_vars['meta_value']);
// }
$query->meta_query = array(
//check to see if et_featured has been filled out
'relation' => 'OR',
array(
//check to see if date has been filled out
'key' => 'et_featured',
'compare' => 'IN',
'value' => array(
0,
1
)
) ,
array(
//if no et_featured has been added show these posts too
'key' => 'et_featured',
'value' => 1,
'compare' => 'NOT EXISTS'
)
);
}
}
return $query;
}
/**
* filter order and replace menu_order by mt1.value
* mt1.meta_value is the meta value when join with table post meta base on rating_score meta key
* @param String $orderby Wordpress post query orderby string
* @return String
*
* @since 1.8.5
* @author Dakachi
*/
function orderbyreplace($orderby) {
global $wpdb;
return str_replace($wpdb->posts.'.menu_order', 'mt1.meta_value+0', $orderby);
}
/**
* catch event change ad status, update expired date
Подробнее здесь: https://stackoverflow.com/questions/583 ... e-wp-query
Пользовательский порядок типов сообщений для релевантности заголовка – WP_Query ⇐ Php
Кемеровские программисты php общаются здесь
1729058224
Anonymous
Я хожу по кругу уже несколько недель - похоже, я не могу упорядочить свой собственный тип сообщений по заголовку -
У меня есть пользовательский поиск поблизости функция, поэтому я хочу сохранить ее - мои пользовательские запросы к публикациям отображаются по релевантности заголовка на стороне администратора WP, но не спереди.
Я нашел код сообщений pre_fetch и изменил мета с «даты» заказа на «заголовок» и с «DESC» на «ASC» - очистил кеш-сервер и браузер сторона, но все равно никакой радости.
Я думаю, что это должно быть очень просто, но ничего из того, что я здесь меняю, кажется, не работает - SQL кэшировал мои предыдущие ошибочные запросы и все еще возвращает данные?
Какой-нибудь совет по этой непонятной проблеме
уже устал добавлять arg в function.php для переопределения post oder, но это не работает
как уже говорилось, мы изменили собственный почтовый индекс, чтобы попытаться возвращать запросы по заголовку ASC, а не по дате DESC, но здесь также нет изменений в результатах запроса
/**
* filter orderby
*/
if (isset($_REQUEST['sortby'])
&& ( $query->is_main_query() || (isset($query->query_vars['meta_key']) && $query->query_vars['meta_key'] == 'rating_score_comment') )
) {
if ($_REQUEST['sortby'] !== 'date') {
// $query->query_vars['meta_key'] = $_REQUEST['sortby'];
$query->set('orderby', 'meta_value_num');
} else {
// order by date
$query->set('orderby', 'date');
}
// order desc
$query->set('order', 'DESC');
}
// order by rating score
if(isset($_REQUEST['query']['orderby']) && $_REQUEST['query']['orderby'] == 'rating_score_comment') {
$query->set('orderby', 'meta_value_num date');
if( !isset($_REQUEST['query']['meta_key'] ) ) {
$query->query_vars['meta_key'] = $_REQUEST['query']['orderby'];
$query->meta_query = array(
//check to see if et_featured has been filled out
'relation' => 'OR',
array(
//check to see if date has been filled out
'key' => $_REQUEST['query']['orderby'],
'compare' => 'BETWEEN',
'value' => array(
0,
5
)
),
array(
//if no et_featured has been added show these posts too
'key' => $_REQUEST['query']['orderby'],
'value' => '',
'compare' => 'NOT EXISTS'
)
);
}else{
// order by rating score for feature block
if($_REQUEST['query']['meta_key'] == 'et_featured') {
$query->set('orderby', 'menu_order');
$query->set('meta_query' , array(
array(
'key' => 'rating_score_comment',
// 'value' => array(0, 5),
// 'compare' => 'BETWEEN'
),
array(
'key' => 'et_featured',
'value' => '1',
'compare' => 'LIKE'
)
));
}
if($_REQUEST['query']['meta_key'] == 'de_event_post') {
// order by rating score for event block
$query->set('orderby', 'menu_order');
$query->set('meta_query' , array(
array(
'key' => 'rating_score_comment',
'value' => array(0, 5),
'compare' => 'BETWEEN'
),
array(
'key' => 'de_event_post',
'value' => '',
'compare' => '!=',
'type' => 'NUMERIC'
)
));
}
}
}
// Orderby featured
// if(is_search()){
// $query->set('meta_key', 'et_featured');
// $query->set('orderby', 'meta_value_num date');
// }
$is_search = ! (empty($_REQUEST['query']) || empty($_REQUEST['query']['s']));
if ((et_load_mobile() && !is_single() ) && !$is_search && (isset($query->query_vars['orderby']) && $query->query_vars['orderby'] != 'rand')) {
if (!is_author() && isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == $this->post_type) {
if(!isset($query->query_vars['near_lat']) || $query->query_vars['near_lat'] == '' ){
$query->set('orderby', 'meta_value_num date');
}
// if (isset($query->query_vars['meta_value'])) {
// unset($query->query_vars['meta_value']);
// }
$query->meta_query = array(
//check to see if et_featured has been filled out
'relation' => 'OR',
array(
//check to see if date has been filled out
'key' => 'et_featured',
'compare' => 'IN',
'value' => array(
0,
1
)
) ,
array(
//if no et_featured has been added show these posts too
'key' => 'et_featured',
'value' => 1,
'compare' => 'NOT EXISTS'
)
);
}
}
return $query;
}
/**
* filter order and replace menu_order by mt1.value
* mt1.meta_value is the meta value when join with table post meta base on rating_score meta key
* @param String $orderby Wordpress post query orderby string
* @return String
*
* @since 1.8.5
* @author Dakachi
*/
function orderbyreplace($orderby) {
global $wpdb;
return str_replace($wpdb->posts.'.menu_order', 'mt1.meta_value+0', $orderby);
}
/**
* catch event change ad status, update expired date
Подробнее здесь: [url]https://stackoverflow.com/questions/58373062/custom-post-type-ordering-for-title-relevance-wp-query[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия