Пара тапок » WordPress http://paratapok.ru Блог о веб-разработке Sun, 18 Dec 2022 12:14:48 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.3.34 Как в WooCommerce убрать товары определенной категории с главной страницы магазина? http://paratapok.ru/backend/4642_kak-v-woocommerce-ubrat-tovary-opredelennoj-kategorii-s-glavnoj-stranicy-magazina/ http://paratapok.ru/backend/4642_kak-v-woocommerce-ubrat-tovary-opredelennoj-kategorii-s-glavnoj-stranicy-magazina/#comments Fri, 18 May 2018 18:46:50 +0000 http://paratapok.ru/?p=4642 Читать далее →]]> Представим себе ситуацию, когда на главной странице магазина нужно из списка товаров удалить товары какой-то конкретной категории, например, «Подарочные сертификаты» или ещё какой-то другой мало значимой группы товаров.

Для этого нужно на событие pre_get_posts повесить кастомное действие, в котором следует сначала убедиться, что выполняется получение списка товаров именно на главной странице, а затем отсеять товары ненужной категории, скорректировав параметры запроса $query. Для этого в свойстве terms следует передать массив отбрасываемых категорий, а в operator отрицание вхождения в указанный список.

Рассматриваемое событие тригерится при каждом запросе WP_Query, непосредственно перед самим запросом в БД. Используется для того, чтобы модифицировать запрос, что мы и делаем в рамках решения обозначенной в заголовке статьи задачи. Важно помнить, что исключить товары заданной категории мы хотим в публичной части магазина, поэтому не забываем проверять, что запрос относится именно к ней с помощью условия !is_admin().

Таким образом, для отсеивания товаров заданных категорий с главной страницы магазина WooCommerce нужно добавить в конец файла /wp-content/themes/название_вашей_темы/functions.php следующий кусок кода:

// Удаляет товары заданных категорий из списка на главной странице магазина
function remove_goods_category($query) {
    if ($query->is_main_query() || $query->is_post_type_archive()) {
        if (!is_admin() && is_shop()) {
            $query->set("tax_query", array(array(
                "taxonomy" => "product_cat",
                "field" => "slug",
                "terms" => array("gifts"),
                "operator" => "NOT IN"
            )));
        }
    }
}
add_action("pre_get_posts", "remove_goods_category");
]]>
http://paratapok.ru/backend/4642_kak-v-woocommerce-ubrat-tovary-opredelennoj-kategorii-s-glavnoj-stranicy-magazina/feed/ 2
Как установить плагин в WordPress из архива? http://paratapok.ru/frontend/4469_kak-ustanovit-plagin-v-wordpress-iz-arxiva/ http://paratapok.ru/frontend/4469_kak-ustanovit-plagin-v-wordpress-iz-arxiva/#comments Thu, 05 Apr 2018 20:33:57 +0000 http://paratapok.ru/?p=4469 Читать далее →]]> Система управления сайтом WordPress получила столь широкую популярность не только за счёт бесплатности, но и благодаря большому количеству плагинов, которые могут решить практически все стандартные задачи. Однако иногда разработчики перестают обновлять написанные плагины, в связи с чем у пользователей встаёт вопрос невозможности обновления WordPress до последней актуальной версии. Когда разница в версиях становится весьма значительной, то многие другие плагины уже так просто нельзя установить, поскольку их актуальные версии используют новый функционал CMS, которые отсутствует в более ранних версиях.

В списке плагинов в этом случае отображается надпись «Несовместим с вашей версией WordPress». Поэтому появляется необходимость установки плагина не напрямую из WordPress, а установка из zip-архива.


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

Итак, чтобы установить плагин WordPress вручную, необходимо перейти на страничку плагина на официальном сайта Вордпресса. Для примера будем рассматривать плагин для работы с формами «Contact Form 7». Пролистываем страницу в самый низ и ищем блок предыдущих версий «Previous Versions». Выбираем ту версию плагина, которая подходит для вашей версии WordPress и нажимаем кнопку «Скачать».

Теперь встаёт вопрос, как установить скачанный плагин в WordPress? Переходим в раздел «Плагины» и рядом с заголовком нажимаем на кнопку «Загрузить плагин».


Откроется страница с формой загрузки архива. Выбираем файл, нажимаем на «Установить» и ожидаем окончания установки. Плагин сначала загрузится, а уже затем будет производиться установка.


При успешном выполнении операции откроется страница с заголовком «Установка плагина из файла: contact-form-7.4.3.1.zip», а внизу будет ссылка «Активировать плагин».


После активации плагин появится в общем списке установленных плагинов.


Как и другие плагины, плагин загруженных на сайт из архива, установился в папку wp-content/plugins.

Однако возможны случаи, когда при установка завершится ошибкой. Скорее всего причиной этому может служить то, что архив внутри себя содержит архив плагина, а сам таковым не является. В него может быть помещена документация, примеры и другая информация, которая прилагается к плагину при покупке. В такой ситуации следует извлечь архив и найти в нём архив с названием плагина. Чтобы убедиться, что это именно тот файл, что вам и нужен, можно зайти в архив — внутри в корне должен лежать php-файл с названием плагина.

Если таким способом установить плагин всё таки не получилось, можно загрузить распакованную папку самостоятельно по FTP. Для этого можно использовать любой ftp-менеджер, например, FileZilla. Относительно корня сайта, нужно перейти в папку /wp-content/plugins и в неё произвести загрузку папки с плагином.

Если на сайте установлена тема Avada или любая другая тема, всё равно установка плагинов идёт в ту же самую папку.

]]>
http://paratapok.ru/frontend/4469_kak-ustanovit-plagin-v-wordpress-iz-arxiva/feed/ 0
Как вставить видео на страницу в Avada? http://paratapok.ru/frontend/4367_kak-vstroit-video-na-stranicu-v-avada/ http://paratapok.ru/frontend/4367_kak-vstroit-video-na-stranicu-v-avada/#comments Sun, 01 Apr 2018 19:44:54 +0000 http://paratapok.ru/?p=4367 Читать далее →]]> Тема Avada для вордпресса пользуется большой популярностью. На ней собираются тысячи сайтов, и порой на промо-страницах требуется разместить видео-ролик. Для этого в визуальном редакторе Fusion Builder есть множество способов.

Например, если перейти во вкладку «Builder Element», то там можно обнаружить такие компоненты, как Youtube и Vimeo, которые осуществляют вставку видео с одноименных платформ видеохостинга. Там даже есть вставка аудио-файлов через платформу Soundcloud.


Однако в настоящей заметке мы рассмотрим, как вставить на страницу видео-файл, не выкладывая его на сторонние площадки, залив ролик только на свой сервер.

Итак, перейдём в левом меню в «Медиафайлы», затем в выпадающем меню в «Библиотека файлов». Загружаем видеоролик в формате mp4, данный формат на сегодняшний день поддерживается всеми современными браузерами.


После загрузки нужно зайти в «Параметры файла», кликнув по загруженному файлу, который появится в общем списке. В открывшемся окне справа будет ссылка на видео-файл. Эту ссылку нужно скопировать.


Переходим на страницу, куда необходимо добавить ролик. Перетаскиваем компонент «Code» в нужное место и нажимаем иконку редактирования.

В появившемся модальном окне необходимо в поле «Code» вставить следующий код, где в значении атрибута src должна быть ссылка, которую мы запомнили при загрузке ролика в библиотеку:

<video src="/wp-content/uploads/name_video.mp4" controls style="width: 100%"></video>

Стоит отметить, что загружать видео большого размера и высокого качества на свой хостинг не стоит. Пропускная способность большинства хостингов ограничивается 100 Мбит/с. При большой количестве посетителей на сайте возможна ситуация, когда сразу 10-20 человек начнут смотреть ролик, тем самым забьют весь исходящий канал. Сайт начнёт открываться очень медленно, что приведёт к большому количеству отказов.

]]>
http://paratapok.ru/frontend/4367_kak-vstroit-video-na-stranicu-v-avada/feed/ 0
Ссылки на товары и категории Woocommerce в админке http://paratapok.ru/backend/4364_ssylki-na-tovary-i-kategorii-woocommerce-v-adminke/ http://paratapok.ru/backend/4364_ssylki-na-tovary-i-kategorii-woocommerce-v-adminke/#comments Sun, 01 Apr 2018 18:11:20 +0000 http://paratapok.ru/?p=4364 Читать далее →]]> В какой-то момент, возможно при очередном обновлении версии WordPress или установке каких-то плагинов, в админке в левом меню исчез раздел «Товары» под пунктом Woocommerce. В итоге в админке нельзя ни просмотреть весь список товаров, ни отредактировать список категорий.

Не являюсь гуру WordPress, поэтому пока выясняется, в чём проблема решил найти в интернете прямые ссылки на нужные страницы в админке. Текстовый поиск успехом не увенчался, получилось найти ссылки только поиском по картинкам, большинство скриншотов сделаны без адресной строки.

Возможно кому-то когда-то пригодятся, сохраню как минимум для себя.

  • Ссылка на список товаров в админке — /wp-admin/edit.php?post_type=product
  • Ссылка на список категорий товаров в админке — /wp-admin/edit-tags.php?taxonomy=product_cat&post_type=product
]]>
http://paratapok.ru/backend/4364_ssylki-na-tovary-i-kategorii-woocommerce-v-adminke/feed/ 0
Как добавить ссылку в Elastic Slider Avada? http://paratapok.ru/backend/2503_kak-dobavit-ssylku-v-elastic-slider-avada/ http://paratapok.ru/backend/2503_kak-dobavit-ssylku-v-elastic-slider-avada/#comments Mon, 28 Dec 2015 17:24:59 +0000 http://paratapok.ru/?p=2503 Читать далее →]]> В одном из проектов произошла тесная встреча с темой для WordPress Avada. По умолчанию в Аваде (Avada) на главной странице есть слайдер. В качестве слайдера использован плагин Elastic Slider с нужным эффектом, но у этого слайдера отсутствует ссылка (<a href="#"></a>) в слайде. Поэтому возникла необходимость сделать у каждого добавляемого и редактируемого слайда ссылку.

Добавленные слайды в Avada Elastic Slider

Добавленные слайды в Avada Elastic Slider

Форма добавления слайда без ссылки

Форма добавления слайда без ссылки

Чтобы появилось поле для ввода ссылки и введенные данные через админку сохранялись, необходимо в файле /wp-content/themes/Avada/framework/metaboxes/options/options_es.php добавить вот такую строку:

$this->text( 'link', __( 'Link', 'Avada' ), '' );

Форма со ссылкой у слайда

Форма со ссылкой у слайда

Чтобы вывести ссылку в html-коде слайдера на главной странице, необходимо в файле wp-content/themes/Avada/framework/custom_functions.php в функции avada_elasticslider($term) прописать следующий код:

<?php
$link = get_post_meta( get_the_ID(), 'pyre_link', true );

if ($link)
{
?><a href="<?=htmlspecialchars($link)?>"><?
}?>
<?php the_post_thumbnail( 'full', array( 'title' => '', 'alt' => get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true ) ) ); ?>

<?php								
if ($link)
{
?></a><?
}?>

И html код слайда будет выглядеть так:

<li style="<?php echo ( $count > 0 ) ? 'opacity: 0;' : ''; ?>">
	<?php
	$link = get_post_meta( get_the_ID(), 'pyre_link', true );
	
	if ($link)
	{
	?><a href="<?=htmlspecialchars($link)?>"><?
	}?>
	<?php the_post_thumbnail( 'full', array( 'title' => '', 'alt' => get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true ) ) ); ?>
	
	<?php								
	if ($link)
	{
	?></a><?
	}?>
	
	<div class="ei-title">
		<?php if ( get_post_meta( get_the_ID(), 'pyre_caption_1', true ) ): ?>
			<h2><?php echo get_post_meta( get_the_ID(), 'pyre_caption_1', true ); ?></h2>
		<?php endif; ?>
		<?php if ( get_post_meta( get_the_ID(), 'pyre_caption_2', true ) ): ?>
			<h3><?php echo get_post_meta( get_the_ID(), 'pyre_caption_2', true ); ?></h3>
		<?php endif; ?>
		

	</div>
</li>

По аналогии можно у слайда добавить другие поля.

]]>
http://paratapok.ru/backend/2503_kak-dobavit-ssylku-v-elastic-slider-avada/feed/ 0