P.S. с Wordpress не очень умею работать, но быстро обучусь если надо
$shipping_classes = get_terms( array(
'taxonomy' => 'product_shipping_class',
'hide_empty' => false,
) );
global $product; // Опционально, если продукт у нас не под рукой
$shipping_class = $product->get_shipping_class();
// Комнаты
if ($_POST['rooms'] != '') { // если передана фильтрация по разделу
$args['meta_query'][] = array( // пешем условия в meta_query
'key' => 'rooms', // название произвольного поля
'value' => array( (int)$_POST['rooms'], (int)$_POST['rooms'] + 2 ), // переданное значение произвольного поля
'type' => 'numeric', // тип поля, нужно указывать чтобы быстрее работало, у нас здесь число
'compare' => 'BETWEEN'
);
}
// К-во мест
if ($_POST['seats'] != '') { // если передана фильтрация по разделу
$args['meta_query'][] = array( // пешем условия в meta_query
'key' => 'seats', // название произвольного поля
'value' => array( (int)$_POST['seats'], (int)$_POST['seats'] + 2 ), // переданное значение произвольного поля
'type' => 'numeric', // тип поля, нужно указывать чтобы быстрее работало, у нас здесь число
'compare' => 'BETWEEN'
);
}
/**
* Добавляем в конец меню ссылки на регистрацию и вход / выход
*
* @param $items string HTML output of navigation menu items
* @param $args object Navigation menu arguments
*
* @return string Modified HTML output of navigation menu items
*/
function add_login_logout_register_menu( $items, $args ) {
// Проверяем, чтобы не админка и нужное меню (в данном случае - primary)
if ( is_admin() || 'primary' != $args->theme_location ) {
return $items;
}
// Если юзер авторизован
if ( is_user_logged_in() ) {
$items .= '<li><a href="' . home_url( 'my-account' ) . '">' . __( 'My Account', 'textdomain' ) . '</a></li>';
$items .= '<li><a href="' . wp_logout_url() . '">' . __( 'Log Out', 'textdomain' ) . '</a></li>';
// Если юзер не авторизован
} else {
$items .= '<li><a href="' . wp_login_url() . '">' . __( 'Log In', 'textdomain' ) . '</a></li>';
$items .= '<li><a href="' . wp_registration_url() . '">' . __( 'Sign Up', 'textdomain' ) . '</a></li>';
}
return $items;
}
add_filter( 'wp_nav_menu_items', 'add_login_logout_register_menu', 199, 2 );
$args = array(
'showposts' => get_option( 'popular_posts_num' ),
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'cat' => 2,
);
$populargb = new WP_Query( $args );
function custom_query_settings() {
// Секция настроек
add_settings_section(
'custom_query_settings_section',
'Custom query settings section description',
'custom_query_settings_section_callback',
'reading' // В какой раздел настроек добавляем ("Чтение")
);
// Поле с настройкой
add_settings_field(
'popular_posts_num',
'Custom option name',
'custom_query_settings_callback',
'reading',
'custom_query_settings_section'
);
// Регистрируем опцию, чтобы WP ее видел
register_setting( 'reading', 'popular_posts_num' );
}
add_action( 'admin_init', 'custom_query_settings' );
// Коллбек для секции (выводит описание секции)
function custom_query_settings_section_callback() {
echo '<p>Intro text for our settings section</p>';
}
// Коллбек для настройки (выводит поле для ввода в админке)
function custom_query_settings_callback() {
echo '<input name="popular_posts_num" id="popular_posts_num" type="number" value="' . get_option( 'popular_posts_num' ) . '" class="small-text" step="1" min="1">';
}