$working_hours = [
'1' => '10:00 — 19:00', // понедельник
'2' => '10:00 — 19:00',
'3' => '10:00 — 19:00',
'4' => '10:00 — 19:00',
'5' => '10:00 — 20:00', // пятница
'6' => '10:00 — 15:00', // суббота
'7' => __( 'Day off', 'textdomain' ) // воскресенье
];
$current_day = date( 'N' );
echo strtr( $current_day, $working_hours );
$args = array(
'post_type' => 'product',
'posts_per_page' => 99,
'order' => 'DESC', // Display all post with thumbnail ID first
'orderby' => 'meta_value_num', // order by meta key value
'meta_query' => array( //query post based on meta key
array(
'relation' => 'OR', // add condition if meta key is exists or not
array(
'key' => '_thumbnail_id',
'compare' => 'NOT EXISTS' // include post without _thumbnail_id key
),
array(
'key' => '_thumbnail_id',
'compare' => '!NOT EXISTS' // include post with _thumbnail_id key
)
)
)
);
get_terms()
есть ключ parent, по которому можно проверить наличие родительской категории$categories = get_terms();
foreach ( $categories as $key => $category ) {
if ( $category->parent == 0 ) {
# нет родителя
} else {
# есть родитель
}
}
function is_category_parent( $cat_id ) {
$category = get_category( $cat_id );
if ( $category->parent == 0 ) {
return true;
}
return false;
}
if ( is_category_parent( $cat_id ) ) {
// категория имеет родителя
}
woocommerce_page_title()
в файле archive-product.php, в этой функции есть одноименный фильтр. Вы можете изменить контент заголовка используя ACF, Carbon Fields или любую другую удобную вам логикуadd_filter( 'woocommerce_page_title', 'filter_function_name_7320' );
function filter_function_name_7320( $page_title ){
// filter...
return $page_title;
}
wc_get_orders()
и циклом выводите ту разметку, которая вам нужна$args = array(
'author' => get_current_user_id();
);
$orders = wc_get_orders( $args );
foreach ( $orders as $key => $order ) {
// данные заказа
$data = $order->get_data();
echo $data['id'];
echo $data['parent_id'];
echo $data['status'];
echo $data['currency'];
echo $data['version'];
echo $data['payment_method'];
echo $data['payment_method_title'];
echo $data['payment_method'];
echo $data['payment_method'];
// еще данные
echo $data['discount_total'];
echo $data['discount_tax'];
echo $data['shipping_total'];
echo $data['shipping_tax'];
echo $data['cart_tax'];
echo $data['total_tax'];
echo $data['customer_id'];
// ... и все в том же духе
}
$locale = get_locale();
if( $locale == 'uk' ) {
echo do_shortcode( '[contact-form-7 id="420" title="Оформити заявку"]' );
} elseif( $locale == 'ru_RU' ) {
echo do_shortcode( '[contact-form-7 id="419" title="Оформить заявку"]' );
} else {
echo do_shortcode( '[contact-form-7 id="421" title="Make a request"]' );
}
wp_insert_post()
— создать записьwp_update_post()
— обновить записьadd_post_meta()
— добавить занчение с мета-полемupdate_post_meta()
— обновить занчение с мета-полемwp_set_object_terms()
— установить таксономию для записиwp_query()
есть аргумент 's'
, в который можно передать поисковый запрос$args = [
'post_type' => 'product',
's' => 'search phrase',
];
$query = new WP_Query( $args );
post_title
, post_excerpt
, post_content
. Если нужно исправить это поведение, ищите, например, по запросам wp_query search by post meta, решения есть