В других случаях докер прекрасен. У вас ничто ни с чем не будет конфликтовать, вы можете поднять на одном железе кучу всего с разными конфликтующими зависимостями.
На счет "проще и понятнее" - это тоже лукавство. Проще и понятнее кому? Веб-мастеру с пятнадцатилетним стажем? Зелёному новичку, который задаёт такие вопросы в Q&A?
всё в статику рендерилось специальная ферма, поднимаемая на несколько минут при обновлениях. В итоге сайт с овердофига страниц и отчетов держал огромные нагрузки, поскольку все страницы, включая комментарии пользователей, были доступны в виде статики. Так еще и клиентские машины не нагружались этим рендером.
А теперь представьте, что для развертывания всего этого нужно лишь положить архив бэкапа в папку и запустить одну команду с помощью докера.
// Default args.
$args = [
'post_type' => 'portfolio',
'numberposts' => 100,
'orderby' => 'menu_order',
'order' => 'DESC',
];
// Tag should be handled on single entry only.
if ( is_singular( 'portfolio' ) ) {
$tags = get_the_tags( get_the_ID() );
// Make sure tag exists.
if ($tags) {
// Pop the last tag.
$tag = array_pop( $tags );
// Set 'tag' property of WP_Query.
$args['tag'] = $tag->slug;
}
}
$lastposts = get_posts( $args );
Кроме контента у сайта на WP есть конфигурация. Часть конфигурации, насколько я понимаю, находится в БД, а часть может быть вынесена в файлы настроек.
Эти файлы имеет смысл выносить в git.
Ваш сайт - это, в идеале, несколько docker-контейнеров:
Рендер делают в отдельном контейнере, иногда на отдельной машине.
Прелесть контейнеризации в том, что для бэкапа сайта нужно по факту забэкапить только БД и несколько пару докер-файлов, докер-компоуз и горсточку конфигов.
Нет, тем более, что я даже близко к разработке не имею отношения.
Если человеку это нафиг не надо - пусть не лезет, а наймёт того, кому надо.
$recent2 = new WP_Query(
[
'showposts' => 100,
'meta_query' => [
[
'key' => 'cena',
'value' => [2500, 2999],
'compare' => 'BETWEEN',
'type' => 'NUMERIC', // Форсируем приведение данных к числам
]
]
]
);
array(2500, 2999)
- это массив из нескольких значений, отсюда появился и array_map()
. Если же значение у вас одно, то достаточно одного preg_replace()
:$price = preg_replace('/\s/', '', get_field('cena'));
'meta_query' => [
[
'key' => 'cena',
'value' => preg_replace('/\s/', '', get_field('cena')),
'compare' => 'BETWEEN'
]
]
функционал
create_function
add_filter( 'loop_shop_per_page', static function() {
return 10;
}, 19 );
Но вот так уже не срабатывает