Список постов в определенной рубрике

Понадобилось мне значит сделать вывод всех постов в определенной рубрике (Шпаргалка)

Везде в других категориях значит посты как посты, с картинками, с аннотациями read more и прочая красота. А в шпаргалке вся эта хрень не нужна, тупо список тайтлов постов ссылкой.

Тема у меня дочерняя, но это пох. Первым делом узнаем, номер этой рубрики

Далее создаем в корне темы файл category-13.php да, я рекомендую привязываться к айдишнику, а не к слагу! Копируем в него верх и низ из category.php или archive.php, но ключевым будет сам вывод постов:

<?php
			if ( have_posts() ) : // если имеются записи в блоге.
			  query_posts(['cat'=>13, 'orderby'=>'title', 'posts_per_page' => -1]);   // указываем ID рубрики сортировку по полю Название
			  while (have_posts()) : the_post();
			?>
			<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
			<?php
			  endwhile; 
			endif;
			wp_reset_query();                
			?>

Замена фотографий товара в Storeland

Заходим в админку — > скачиваем товары в csv

Видим такую дичь:

https://i4.stat01.com/1/8358/83571219/6e1ffd/kod-po-katalogu-ral6005-nazvanie-cveta-kraski-moosgruen.jpg
https://i4.stat01.com/1/8358/83571220/6e1ffd/kod-po-katalogu-ral6005-nazvanie-cveta-kraski-moosgruen.jpg

Задача — поменять вторую картинку на одну и ту же во всем разделе

Курим мануал по поиску и замене в LibreOffice Calc —

\n — Представление разрыва строки, вставленного с помощью комбинации клавиш SHIFT+ВВОД. Чтобы изменить разрыв строки на разрыв абзаца,
введите \n в поля Найти и Заменить на и выполните поиск и замену. \n в текстовом поле Поиск означает разрыв строки,
вставленный с помощью комбинации клавиш Shift+Enter. \n в текстовом поле Заменить означает разрыв абзаца,
который можно ввести с помощью клавиши Enter или Return.

И еще нужна группировка — первую строку оставляем, вторую — заменяем:

Группировка делается скобками (), вставка \1 (в поле «Поиск») или $1 ( в поле «Заменить на»)

Пробуем: (*)\n(*)

Гол? Хуй — штанга! Незабываем ставить галочку «Регулярные выражения» и вставить перед модификатором «*» какой-нибудь символ. В моем случае — это любой, поэтому ставим точку: (.*)\n(.*)

Бинго! Теперь находит. Теперь

$1\n123 заменит нам вторую строчку на 123, а вторую оставит на месте

Пробуем — опять хуй! Тупо вставляет между строками \n и все!

Ок. Гуглим, включаем мозг и вперед:

Заменяем перенос строк каким-нибудь символом, да пусть хоть тем же «\n»

=SUBSTITUTE(A2;CHAR(10);»\n») или так =SUBSTITUTE(A2;CHAR(10);»—«)

Если у вас русская версия Либры, то в Сервис -> Параметры -> LibreOffice Calc -> Формула нужно жмакнуть галочку «Использовать английские имена функций»

Вывод: слава разделителям и регулярным выражениям!

Генерация прайс-листа Яндекс.Маркет на CS-CART на хостинге zahid

CS-CART рекомендует для крона такую команду

php /home/mysite/www/index.php --dispatch=yml.generate --switch_company_id=1 --price_id=8

Так сначала не пускало (у магазина закрыта витрина), потом попробовали через CURL просто пройти по ссылке генерации, но обрабатывалось только 5000 файлов и стопэ.

Но после долгих мытарств заработало так:

wget -r -l 100 -nd --delete-after 'https://mysite.ru/yml_generate/8/'

Такой грамотной и терпеливой техподдержки я не встречал ни на одном хостинге.

Вставка GTM в MODX

Нашел, чанк head, вставил код — хуяк — белый экран. Ответ здесь

Итог:

Создаем чанк gtmHead и внимание :

{ignore}
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
{/ignore}

С бодей то же самое…

Яндекс.Метрика