WordPress
- 17 ответов
- 0 вопросов
18
Вклад в тег
/**
* Добавляет условие WHERE в запрос Wp_Query.
*
* @param $where
*
* @return string
*/
function modify_posts_where( $where ) {
return $where . ' AND ID > 350';
}
// Добавляем условие
add_filter( 'posts_where', 'modify_posts_where' );
// Делаем запрос
$posts = new WP_Query( [
'post_type' => 'post',
'posts_per_page' => - 1,
// и другие нужные параметры
] );
// Удаляем условие, чтобы другие вызовы WP_Query() не затрагивать
remove_filter( 'posts_where', 'modify_posts_where' );
add_action('init', 'rewrite_rule_my');
function rewrite_rule_my(){
add_rewrite_tag('%metro%', '([^&]+)');
add_rewrite_rule('^(objects)/([^/]*)/?', 'index.php?pagename=$matches[1]&metro=$matches[2]', 'top');
}
get_query_var('metro') // рекомендуемый
$wp_query->query_vars['metro']
$wp_query->query['metro']