WordPress
GTranslate — как убрать дублирующийся H1
Плагин GTranslate генерирует дополнительный тег H1 на всех страницах сайта. В коде его найти невозможно. Разработчики предлагают приобрести платную версию
Задачу можно решить, если в футер (footer.php) сайта добавить код
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({ pageLanguage: 'en', includedLanguages: 'es' }, 'google_translate_element');
var removePopup = document.getElementById('goog-gt-tt');
removePopup.parentNode.removeChild(removePopup);
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
Описание категории переносим под товары
Если в основном шаблоне нет шаблона категорий (archive-product.php) для переноса описания категории нужно внести правки в плагин WooCommerce. Находим файл
wp-content/plugins/woocommerce/includes/wc-template-functions.php и переносим строку вниз

Удаляем цены и кнопку В КОРЗИНУ на сайте WooCommerce
Удаляем цены и кнопку В КОРЗИНУ на сайте WooCommerce
В файл functions.php вставляем код
/*
* Hide Price & Remove Add to Cart Button
*/
add_filter( 'woocommerce_get_price_html', 'tb_remove_price');
function tb_remove_price($price){
return ;
}
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
Кнопка КУПИТЬ В ОДИН КЛИК
Плагин КУПИТЬ В ОДИН КЛИК
Buy one click WooCommerce
Автор: Djo
Вставить код в нужное место шаблона
Как вставить шорткод в php файл
<?php echo do_shortcode('[shortcode]'); ?>
WooCommerce — как скрыть атрибут товара в карточке
Чтобы скрыть некоторые атрибуты товара и не выводить их в карточке нужно в файл functions.php добавить следующий код:
function devise_hide_attributes_from_additional_info_tabs( $attributes, $product ) {
$hidden_attributes = [
'pa_network',
'pa_merchant',
'pa_brand',
];
foreach ( $hidden_attributes as $hidden_attribute ) {
if ( ! isset( $attributes[ $hidden_attribute ] ) ) {
continue;
}
$attribute = $attributes[ $hidden_attribute ];
$attribute->set_visible( false );
}
return $attributes;
}
add_filter( 'woocommerce_product_get_attributes', 'devise_hide_attributes_from_additional_info_tabs', 20, 2 );
где
pa_network
pa_merchant
pa_brand
это атрибуты, которые мы хотим скрыть
формируется как
«pa_» + «ярлык атрибута»

Уменьшаем или увеличиваем количество выводимых тегов WordPress
Чтобы уменьшить количество выводимых тегов на странице, необходимо отредактировать файл category-template.php, который находится в папке wp-includes.
Скачиваете и находите в нем функцию wp_tag_cloud, она выглядит следующим образом:
< $defaults = array( 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45, 'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC', 'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true ); >
number — количество выводимых тегов
smallest — размер шрифта самой выводимой метки
largest — размер шрифта самой выводимой метки
Проблемы локализации тем WordPress
Ситуация с переводом темы WP:
Есть папка с файлами локализации или фалом POT
Вы делаете перевод на русский (с помощью плагина или специального редактора Poedit)
Сохраняете файл с расширением PO
Создаете автоматически файл с расширением MO
Все файлы лежат в папке локализации
Но! Перевод не работает!
Варианты решения:
Вариант 1 — автор темы или плагина мог забыть создать папку для хранения языковых файлов. Проверьте и если такой папки нет (как имя папки в функции) — создайте эту папку.
Вариант 2 — автор сделал иначе: папку создал, но путь к папке не прописал в функции, или — папка /lang, а в функции — имя папки, например /languages.
Вариант 3 — автор прописал функцию подключения локализации не в файле functions.php, а в другом.
Вариант 4 — автор просто забыл добавить функцию подключения локализации.
Эта функция в любой теме WordPress всегда должна включена в файле functions.php.
// Make the theme available for translation. load_theme_textdomain( ‘supernews’, get_template_directory() . ‘/languages’ );
или другой синтаксис
// Make the theme available for translation. load_theme_textdomain( 'supernews', trailingslashit( get_template_directory() ) . 'languages' );
где
supernews — название папки с темой
languages — название папки с языками
Плагин Инстаграма для WP
Скачиваем и устанавливаем плагин WP Instagram Widget
В стили шаблона вносим правки
.instagram-pics {
list-style: none;
margin: 0;
}
.instagram-pics li {
float: left;
padding: 3px;
width: 33.333%;
}
.null-instagram-feed p.clear {
clear: both; }
.instagram-pics li:hover {
opacity: 0.7;
}
Плагин для вставки кода и картинок в посты, на страницы, в виджеты
Ad Inserter
Плагин вставки кода и картинок в посты, на страницы, в виджеты.
Удобрый интерфейс, множество позиций. Возможность вставлять код в хидер и футер сайта.
Автор: Igor Funa
Адрес плагина:
https://ru.wordpress.org/plugins/ad-inserter/
Перенос WP сайта на новый хостинг
1. Сохраняем папки и файлы в архив
2. Делаем экспорт базы данных
3. Распаковываем архив с файлами на новом хостинге
4. Импортируем базу.
5. Делаем 3 запроса в базе (вкладка SQL)
UPDATE wp_options SET option_value = REPLACE (option_value, 'http://old_domain.ru', 'http://new_domain.ru') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = REPLACE (guid, 'http://old_domain.ru', 'http://new_domain.ru'); UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://old_domain.ru','http://new_domain.ru');
6. Если на страницах возникает Ошибка 500 Internal Server Error, необходимо удалить .htaccess файл и создать его заного через админку Параметры → Постоянные ссылки, Сохранить.
Как разбить запись на несколько страниц
Чтобы разбить запись или статью в WordPress на несколько страниц необходимо в редакторе перейти в текстовый режим и в месте, где необходим переход на следующую страницу вставить тег
<!--nextpage-->
Как избавиться от страниц вложения медиафайлов attachment
Как в публикациях сайта на WordPress избавиться от страниц вложения медиконтента: такие странички WordPress будет генерировать для каждого добавленного фото (вообще всего добавленного медиаконтента).
/*** удаляем стр. вложения медиа КАРТИНКИ ***/
add_action('template_redirect', 'template_redirect_attachment');
function template_redirect_attachment() {
global $post;
// Перенаправляем на основную запись:
if (is_attachment()) {
wp_redirect(get_permalink($post->post_parent));
}
}
/*** ФИН удаляем стр. вложения медиа КАРТИНКИ ***/
Вывод формы комментариев на отдельной странице
WordPress: Как сделать вывод формы комментариев на другой странице
Если нужно чтобы форма комментарие отображалась на одной странице, а сами комментарии выводились на другой, нужно воспользоваться кодом:
<?php comment_form( $args, $post_id ); ?> comment_form( $args, $post_id ); $args(массив)
Аргументы, в соответствии с которыми будет создана форма комментирования.
По умолчанию: предустановленные
$post_id(строка/массив/число)
ID поста, для которого нужно вывести форму комментирования.
По умолчанию: null (текущий пост например 256). Комментарии будут отображаться на этой странице
Создаем копию шаблона, отвечающего за вывод страницы. Обычно это page.php или page-default.php
Меняем код, отвечающий за вывод комментариев
<?php
if ( comments_open() || '0' != jnews_get_comments_number() ) {
comments_template();
}
?>
на
<?php comment_form( $args, 256 ); ?>
Добавляем в начало шаблона код с названием
<?php /** * Template Name: Form comments * * @file page-default-form.php * @package iteamtheme * @author trunow * @version Release: 1.0 * @filesource wp-content/themes/jnews/page-default-form.php */
В админке в редакторе страницы в атрибутах вместо базового шаблона выбираем новый Form comments
Вывод подписи миниатрюры поста
Выводит на экран описание (caption) миниатюры записи (поста).
Подпись указывается при редактировании картинки в админ-панели:
Использование
the_post_thumbnail_caption( $post );
где:
$post(число/WP_Post)
ID или объект записи, подпись миниатюры которого нужно вывести на экран.
По умолчанию: null (текущий пост)
Пример
#1 Выведем подпись миниатюры записи
Функция выведет пустую строку если у миниатюры нет подписи.
<?php the_post_thumbnail_caption(); ?>
Пример на странице
https://realty62.ru/start-prodazh-2-go-doma-zhilogo-kompleksa-margelov/ Не использовала
// Show description of thumbnail in post
function the_post_thumbnail_caption( $post = null ) {
/**
* Filters the displayed post thumbnail caption.
*
* @since 4.6.0
*
* @param string $caption Caption for the given attachment.
*/
echo apply_filters( 'the_post_thumbnail_caption', get_the_post_thumbnail_caption( $post ) );
}
WooCommerce вариативные товары с одинаковым SKU
Добавляем товары с одинаковыми SKU для 2-х и более товаров.
Добавляем код в functions.php чтобы не выскакивала ошибка «Неправильный или дублированный Артикул» (он же SKU)
// TEMPORARY FIX for invalid or double sku
add_filter( 'wc_product_has_unique_sku', 'temp_fix_wcml_sku_issue', 10, 3 );
function temp_fix_wcml_sku_issue( $sku_found, $product_id, $sku ) {
return false;
}
Как сделать так чтобы WordPress не вырезал html теги в описании рубрик и меток
Теги вырезаются функциями wp_filter_kses() и wp_kses_data(), которые как и все в мире WordPress цепляются через фильтры и которые соответственно можно «отцепить».
Вставляем эти две строчки в functions.php
remove_filter('pre_term_description', 'wp_filter_kses');
remove_filter('pre_term_description', 'wp_kses_data');
html теги в описаниях ссылок и описании пользователей
А можно еще так, чтобы теги оставались и в описаниях ссылок и описании пользователей, но у пользователей оставлять теги чревато тем, что шаблон может поехать, если незадачливые пользователи начнут использовать эти теги, поэтому без надобности лучше ограничится кодом выше.
Этот код тоже нужно вставлять в functions.php
$filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
foreach ( $filters as $filter ) {
remove_filter($filter, 'wp_filter_kses');
}
foreach ( array( 'term_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
}
wp_filter_kses
Плагины для работы с WP
Базовые плагины
Really Simple SSL
Автор: Rogier Lankhorst, Mark Wolters
Cyr to Lat enhanced
Автор: Sol, Sergey Biryukov, Nikolay Karev, Dmitri Gogelia
Classic Editor
Автор: WordPress Contributors
WPBakery Page Builder
Loco Translate
Автор: Tim Whitlock
Bulk Delete
Автор: Sudar
Dynamic Widgets
Автор: Qurl
Bellows Accordion Menu
Автор: SevenSpark
qTranslate X
Инструкция qTranslate X
https://only-to-top.ru/blog/programming/2018-12-19-qtranslate-x-nastrojka-i-ispolzovanie.html
AddToAny Share Buttons
Кнопки поделиться для ваших страниц: универсальная кнопка AddToAny, Facebook, Twitter, Google+, Pinterest, WhatsApp и многие другие.
Автор: СоцЗакладки
Bazz CallBack Widget
Плагин создает простой виджет для обратного звонка на ваш сайт.
Автор: Viktor Ievlev
Strong Testimonials
Соберите и покажите отзывы или обзоры.
Автор: MachoThemes
Яндекс.Турбо
Данный плагин автоматически создаст на вашем сайте новую RSS-ленту (или несколько лент) для сервиса Яндекс.Турбо
Автор: Flector
Вывод title, description, keywords и h1 для категорий товаров Woocommerce
В категория товаров для Woocommerce нет возможности вывода описания и тайтла. Чтобы добавить эти поля нужно добавить несколько функций.
1. Добавляем код в functions.php
Добавляем код в functions.php
/* Мета-поля для категорий товаров */
add_action("product_cat_edit_form_fields", 'mayak_meta_product_cat');
function mayak_meta_product_cat($term){
?>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок (title)</label></th>
<td>
<input type="text" name="mayak[title]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'title', 1 ) ) ?>"><br />
<p class="description">Не более 60 знаков, включая пробелы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Краткое описание (description)</label></th>
<td>
<input type="text" name="mayak[description]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'description', 1 ) ) ?>"><br />
<p class="description">Краткое описание (description)</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок h1</label></th>
<td>
<input type="text" name="mayak[h1]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'h1', 1 ) ) ?>"><br />
<p class="description">Заголовок страницы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Ключевые слова</label></th>
<td>
<input type="text" name="mayak[keywords]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'keywords', 1 ) ) ?>"><br />
<p class="description">Ключевые слова (keywords)</p>
</td>
</tr>
<?php
}
/* Сохранение данных в БД */
add_action('edited_product_cat', 'mayak_save_meta_product_cat');
add_action('create_product_cat', 'mayak_save_meta_product_cat');
function mayak_save_meta_product_cat($term_id){
if (!isset($_POST['mayak']))
return;
$mayak = array_map('trim', $_POST['mayak']);
foreach($mayak as $key => $value){
if(empty($value)){
delete_term_meta($term_id, $key);
continue;
}
update_term_meta($term_id, $key, $value);
}
return $term_id;
}
/* Вывод title для категорий товаров */
add_filter('single_term_title', 'mayak_filter_single_cat_title', 10, 1);
add_filter( 'single_term_title', 'mayak_poduct_cat_title', 10, 1);
function mayak_filter_single_cat_title() {
$pci = get_queried_object()->term_id;
return get_term_meta ($pci, 'title', true);
}
function mayak_poduct_cat_title($pct){
if(empty($pct)){
$pct = get_queried_object()->name;
}
return $pct;
}
/* Вывод description для категорий товаров */
add_action('wp_head', 'mayak_description_product_cat', 1, 1);
function mayak_description_product_cat(){
if(is_product_category()){
$pcd = get_term_meta (get_queried_object()->term_id, 'description', true);
if(!empty($pcd)){
$meta = '<meta name="description" content="'.$pcd.'"/>'."\n";
}
else {
$pcd = wp_filter_nohtml_kses(substr(category_description(), 0, 280));
$meta = '<meta name="description" content="'.$pcd.'"/>'."\n";
}
echo $meta;
}
}
/* Вывод keywords для категорий товаров */
add_action('wp_head', 'mayak_keywords_product_cat', 1, 1);
function mayak_keywords_product_cat(){
if(is_product_category()){
$pck = get_term_meta (get_queried_object()->term_id, 'keywords', true );
$aut = '<meta name="keywords" content="'.$pck.'">'."\n";
}
echo $aut;
}
2. Если установлен плагин All in One SEO pack, необходимо убрать дубль вывода description
Для этого в настройка плагина добавляем страницы, на которых не будем выводить description

Вывод товаров отдельно от категорий в WooCommerce
В архивах woocommerce выводит категории и товары в один список. Чтобы отделить категории и товары нужно добавить хук.
В настройках WooCommerce включаем Показывать товары, при этом будут выводится все товары категории и подкатегорий.
В functions.php добавляем код:
// Отделяем категории от товаров
function tutsplus_product_subcategories( $args = array() ) {
$parentid = get_queried_object_id();
$args = array(
'parent' => $parentid
);
$terms = get_terms( 'product_cat', $args );
if ( $terms ) {
echo '<ul class="product-cats">';
foreach ( $terms as $term ) {
echo '<li class="category">';
echo '<a href="' . esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
woocommerce_subcategory_thumbnail( $term );
echo '<h3>'.$term->name.'</h3>';
echo '</a>';
}
echo '</ul>';
}
}
add_action( 'woocommerce_before_shop_loop', 'tutsplus_product_subcategories', 50 );
Добавляем стили для вывода списка категорий:
ul.product-cats li {
list-style: none;
margin-left: 0;
margin-bottom: 4.236em;
text-align: center;
position: relative;
}
ul.product-cats li img {
margin: 0 auto;
}
@media screen and (min-width:768px) {
ul.product-cats {
margin-left: 0;
clear: both;
}
ul.product-cats li {
width: 29.4117647059%;
float: left;
margin-right: 5.8823529412%;
}
ul.product-cats li:nth-of-type(3) {
margin-right: 0;
}
}
Если на странице магазина (shop) будут дублировать категории, страницу можно переопределить.
Создать новую (например Каталог) и вставить в нее вывод категорий через шорткоды или визуальным редактором.
Плагины для работы с WooCommerce
Woocommerce
WP all import pro
Custom Product Tabs for WooCommerce
Автор: YIKES, Inc.
Variation Swatches for WooCommerce
Автор: Emran Ahmed
Checkout Field Editor for WooCommerce
Автор: ThemeHigh
Woo Product Remover
Автор: Mohammad Farhat
AJAX Search for WooCommerce
Автор: Damian Góra
Qty Increment Buttons for WooCommerce
Добавляет профессионально выглядящие кнопки «-» и «+» вокруг поля количества товара, на странице товара и корзины.
Автор: taisho
Ajax Cart AutoUpdate for WooCommerce
Автоматически обновляет страницу корзины и мини-корзину при изменении количества.
Автор: taisho
States, Cities, and Places for WooCommerce
Плагин позволяет добавить выпадающий список стран и городов в форме заказа
Автор: Kingsley Ochu
Dynamic Pricing With Discount Rules for WooCommerce
Различные виды скидок для цен товаров. Фиксированные, процентные
Автор: Acowebs
Advanced Product Labels for WooCommerce
Ярлыки для товаров WooCommerce
Автор: BeRocket
Advanced AJAX Product Filters
Фильтры для товаров по цене, атрибутам, категориям и пр
Автор: BeRocket
Пример использования
beautylash.by
Prices by User Role
Разные цены для различных категорий пользователей.(Незарегистрированные, оптовые покупатели, клиенты, подписчики)
Автор: Festi-Team
https://festi.team/plugins/woocommerce-prices-by-user-role/
Пример использования
fixpix.md
Плагин для создания страницы Вопрос-Ответ
DW Question & Answer
Плагин для созднания страницы Вопрос-Ответ. Выводиться на любой странице через шорткоды. Есть возможность задать вопрос через форму.
Управление через админку, ответы на вопросы через броузер.
Автор: DesignWall
Пример работы — на сайте multitex.spb.ru
(http://multitex.active.com.swtest.ru/faq/)

Плагин всплывающей формы для сайта
Popup Maker
Автор: Popup Maker
Плагин для создания sitemap
Google XML Sitemaps
By Auctollo
YML для экспорта товаров WooCommerce
Плагин для создания YML for Yandex Market
Автор: Maxim Glazunov
Инструкция по настройке
Удаление циклических ссылок в меню сайта
Вариант 1
Устанавливаем плагин. Не всегда срабатывает. Часто отключает полезные функции
Remove Redundant Links
Автор: Thomas Scholz
Вариант 2
Добавляем код в function.php
function artabr_menu_no_link($no_link){
$in_link = '!<li(.*?)class="(.*?)current-menu-item(.*?)"><a(.*?)>(.*?)</a>!si';
$out_link = '<li$1class="\\2current-menu-item\\3"><span>$5</span>';
return preg_replace($in_link, $out_link, $no_link );
}
add_filter('wp_nav_menu', 'artabr_menu_no_link');
Нужно править стили
.main-menu > li > a меняем на .main-menu > li > span
Joomla
Import/Export товаров в Joomshopping
Если при экспорте/импорте товаров возникли проблкмы с кодировкой, необходимо установить дополнительный addong Simple Import UTF8 2.9.1
Addon для переноса товаров
Скачать и установить на сайте КУДА нужно перенести товары
Simple Import UTF8 2.9.1
https://www.webdesigner-profi.de/joomla-webdesign/shop/import-export/simple-import-utf8.html?lang=ru
ModX
Создаем YML.xml для ЯндексМаркета на MODx
1.В Ресурсах создаем страницу offers.yml


Содержание
<?xml version="1.0" encoding="utf-8"?> <yml_catalog date="[[time]]" > <shop> <name>Название магазина <company>Название фирмы <url>http://site.ru <currencies> <currency id="RUR" rate="1"/> </currencies> <categories> [[pdoResources? &parents=`8` &depth=`1` &limit=`1000` &tpl=`categories`]] </categories> <offers> [[msProducts? &templates=`10` &limit=`10000` &parents=`0` &tpl=`offer` &includeTVs=`image`]] </offers> </shop> </yml_catalog>
где 8 -категория каталога
10 — id шаблона товара
Параметры pdoResources: &parents=`8` — это id каталога (самый верхний уровень, где все лежит), &depth=`1` — глубина, limit = лимит и чанк categories.
Параметры msProducts: &templates=`10` — это id шаблона, который отвечает за товар,
&includeTVs=`image` — это дополнительно TV поле, где изображение (не использовали стандартную галерею).
Если захотите вытащить текст из области контента то не забудьте &includeContent=`1`, но лично я использовал longtitle.
2. Чанки — minishop2 — новый чанк categories
<category id="[[+id]]" [[+parent:is=`8`:then=``:else=`parentId="[[+parent]]"`]]>[[+pagetitle]]
где 8 -категория каталога
3. Чанки — minishop2 — новый чанк offers
<offer id="[[+id]]" available="[[+na_sklade]]">
<url>http://site.ru/[[~[[+id]]]]
<price>[[+price:stripString=` `]]
<currencyId>RUR
<categoryId>[[+parent]]
<picture>{"site_url" | config | replace : "ru/" : "ru"}{$image}
<name>[[+pagetitle]]
<model>[[+article]]
<description>[[+longtitle]]
</offer>
<model>[[+article]]
<description>[[+longtitle]]
</offer>
</pre>
где http://site.ru/ - меняем на адрес нашего сайта
4. Сниппеты - minishop2 - новый сниппет time
<?php
echo (date("Y-m-d H:i"));
5. TV параметр na_sklade это переключатель (radio) с возможными значениями:
да==true||нет==false
Как поставить яндекс метрику в Modx Revolution
Если после установки кода появляется белый экран
Ответ:
На сайте вероятно включен Fenom, посему два решения.
Либо код метрики в вашем чанке обернуть в тег {ignore} …{/ignore},
либо в самой метрики найти, где есть открывающая фигурная скобка рядом с обычной и разделить их пробелом — { (.
Это феном конфликтует и выдает белый экран.
Создание файла sitemap.xml в MODX Revolution
Для создания файла sitemap.xml будет использовать дополнение pdoTools, а точнее сниппет pdoSitemap. Это дополнение (pdoTools) у нас уже установлено в MODX Revolution.
1. Создать ресурс SiteMapXML и внести во вкладки «Документ» и «Настройки» следующие данные:

Вкладка «Документ»:
Заголовок – SiteMapXML.
Шаблон – пустой.
Псевдоним – sitemap.
Не показывать в меню – Да.
Опубликован – Да.
MODX Revolution — Создание ресурса SiteMapXML. Вкладка — Документ.

Вкладка «Настройки»:
Тип содержимого – XML.
Доступен для поиска – Нет.
Использовать HTML редактор – Нет.
Заморозить URI – Да.
URI – sitemap.xml.
MODX Revolution — Создание ресурса SiteMapXML. Вкладка — Настройки.
2. Сохранить ресурс SiteMapXML.
3. В поле содержимое ресурса SiteMapXML ввести следующее:
[[!pdoSitemap? &checkPermissions=`list` ]]
4. Проверяем результаты работы сниппета pdoSitemap. Для этого в адресной строке браузера вводим: http://www.mysite.ru/sitemap.xml.
ocStore — OpenCart
Установка ocStore
1) Установка ocStore
2) Загружаем файлы, переносим файлы из папки Uploads в основную директорию
3) Переименовываем файлы config-dist.php в config.php
и admin/config-dist.php в admin/config.php
4) Запускаем установку
HTML
Проложить маршрут на карте
На яндекс карте определяем координаты объекта.
Вставляем их в следующий код.
<a href="yandexmaps://build_route_on_map/?lat_to=55.634822&lon_to=37.628451">Проложить маршрут (для iOS?приложения Яндекс.Карты версии 6.4 и выше)</a> <a href="intent://maps.yandex.ru/?lon_to=37.628451&lat_to=55.634822#Intent;scheme=http;package=ru.yandex.yandexmaps;end">Проложить маршрут (для Android приложения Яндекс.Карты версии 3.8 и выше)</a>
Таблица спецсимволов
Таблица спецсимволов HTML
http://htmlbook.ru/samhtml/tekst/spetssimvoly
Как поставить ударение в слове
Ударение вставляется после буквы, на которой должен стоять знак ударения.
́ ́
Пример: Делай, что до́лжно, и будет, как надо!
Как подключить нестандартные шрифты
1. Подключение шрифта, если он есть в Google Fonts
https://fonts.google.com/
вводим Raleway в поиске
2. Выбираем нужный шрифт
3. Настраиваем шрифт
4. Вставляем линк в html — > head
5. Вставляем код в style.css
6. Если шрифта нет в Google Fonts, берем его у дизайнера и загружаем нужный шрифт в fontsquirrel и скачиваем архив https://www.fontsquirrel.com/tools/webfont-generator
7. Создаем в проекте папку fonts. В нее записываем файлы bringin.woff2 bringin.woff
8. В стили прописываем код
@font-face { font-family: ‘bringinregular’; src: url(‘fonts/bringin.woff2’) format(‘woff2’), url(‘fonts/bringin.woff’) format(‘woff’); font-weight: normal; font-style: normal; }
Выпадающий текст
Пример выпадающей программы курса
http://arsamandi.ru/at/wom_com/
Добавляем:
в стили:
div.hideCont,
a.hideBtn.hide{
display:none;
}
В хидер
В код html
Посмотреть программу
ТекстТекстТекстТекстТекстТекст
Длительность аудиокурса 3 часа 1 минута
Адаптивное youtube видео
В html
<div class="videoContainer1"> <div class="videoWrapper"> Код видео iframe </div> </div>
В CSS стилях
.videoWrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 5px;
height: 0;
}
.videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 90%;
height: 100%;
}
.videoContainer1 {
width: 640px;
max-width: 100%;
}
Создаём кнопку «наверх» для сайта
Вариант 1. jQuery
1. Подключаем jQuery
<script src="https://code.jquery.com/jquery-git.min.js"></script>
2. Вставляем код, скрипт и стиль. В стилях указываем свой путь к изображению, его ширину и высоту.
<div id="upbutton"></div>
<script>
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
if ($('#upbutton').is(':hidden')) {
$('#upbutton').css({opacity : 1}).fadeIn('slow');
}
} else { $('#upbutton').stop(true, false).fadeOut('fast'); }
});
$('#upbutton').click(function() {
$('html, body').stop().animate({scrollTop : 0}, 300);
});
</script>
<style>
#upbutton {
background: url("/images/up.png") no-repeat top left;
height: 60px;
width: 60px;
bottom: 30px;
right: 30px;
cursor: pointer;
display: none;
position: fixed;
z-index: 999;
}
</style>
Вариант 2. Без jQuery
<script>
var smoothJumpUp = function() {
if (document.body.scrollTop>0 || document.documentElement.scrollTop>0) {
window.scrollBy(0,-50);
setTimeout(smoothJumpUp, 20);
}
}
window.onscroll = function() {
var scrolled = window.pageYOffset || document.documentElement.scrollTop;
if (scrolled > 100) {
document.getElementById('upbutton').style.display = 'block';
} else {
document.getElementById('upbutton').style.display = 'none';
}
}
</script>
<a id="upbutton" href="#" onclick="smoothJumpUp(); return false;">
<img src="/images/up.png" alt="Top" border="none" title="Наверх">
</a>
Кнопки Viber, Whatsapp и Instagram без плагинов
1. Блок с картинками и ссылками вставляем в html файл
<div id="whatsapp-block">
<a href="https://api.whatsapp.com/send?phone=375291555987" target="_blank" rel="noopener noreferrer"><img src="/uploads/logo-whatsup1.png"></a>
<a href="https://www.instagram.com/metallbu.ru/?r=nametag" target="_blank" rel="noopener noreferrer"><img src="/uploads/logo-insta.png"></a>
<a href="viber://chat?number=%2B375291555987"><img src="/wp-content/uploads/viber-icon.png"></a>
</div>
2 Стили вставляем в CSS файл
#whatsapp-block {
display: block;
width: 40px;
height: 40px;
position: fixed;
top: 60px;
right: 0;
z-index: 110;
}
CSS
Прочее
Скачать картинки с помощью wget под ubuntu
1)Команда pwd — узнаем в какой папке находимся
Ответ — /home/tanya
2)ls — смотрим как называется нужный каталог
Видео
Изображения
Загрузки
‘Рабочий стол’
и тд
3)Переход в нужный каталог
cd ./Загрузки/images
4)Создаем файл links.txt и добавляем в него все ссылки.
Размещаем файл в папке /Загрузки/images
5)Запускаем wget
wget -i links.txt -P ~/Загрузки/images
Вызываем Flameshot клавишей PrintScreen
Делаем Flameshot программой по умолчанию для создания скриншотов
- Параметры → Клавиатура → Комбинации клавиш → Снимки экрана
- Ищем ‘Print’, отвязываем его вызов с помощью Backspace.
- Внизу выбираем Дополнительные комбинации клавиш, нажимаем ‘+’.
- В поле ‘Имя’ вводим ‘Flameshot’ или ‘PrintScreen’.
- В поле команда вводим ‘flameshot gui’.
- Устанавливаем ‘Комбинацию клавиш’ и нажимаем на клавиатуре Prnt Scr.
В итоге основным скриншотером в системе становиться Flameshot.
Где находится конфигурационный файл подключения к базам данных в популярных CMS
|
Где находится конфигурационный файл подключения к базам данных в популярных CMS
|
|
|
В Joomla есть файл configuration.php, в котором есть строчки:
В WordPress есть файл wp-config.php, в котором есть строчки:
В Drupal в папке /site/default/ есть файл settings.php, в котором есть строчка $db_url = ‘mysql://username:password@mysqlhost/databasename’; Где:
В DLE в папке /engine/data/ есть файл dbconfig.php, в котором подключение к базе прописывается в строчках:
В Shop-script подключение настраивается в файле /cfg/connect.inc.php
В ShopCMS база данных подключается в файле /core/config/connect.inc.php
В WebAsyst всё немного сложнее. Там есть файл /dblist/логин.xml в котором за соединение с базой отвечают следующие параметры:
а также в файле кеша /temp/scdb/.settings.логин дублируются эти же параметры:
В PrestaShop подключение настраивается в файле /config/settings.inc.php
В MODx подключение настраивается в файле /manager/includes/config.inc.php:
В Bitrix подключение настраивается в файле /bitrix/php_interface/dbconn.php:
В PHPShop подключение настраивается в файле phpshop/inc/config.ini:
В HostCMS конфигурационный файл размещается в modules/core/config/database.php и содержит следующие настройки:
В UMI реквизиты подключения в секции [connections] файла docs/config.ini: Код:
В phpBB файле docs/config.php:
В NetCat соединение с базой данных настраивается в файле docs/vars.inc.php:
В Amiro.CMS настройки соединения с базой данных устанавливаются в файле docs/_local/config.ini.php:
Если ничего из перечисленного не подошло,то посмотрите название базы данных в панели управления на вкладке «Сайты и домены» → «Базы данных» после чего в консоли в директории httpdocs воспользуйтесь командой:
|
Bitrix вывод описания категории
В структуре файлов ищем:
/bitrix/templates/название_шаблона/components/bitrix/catalog/catalog/bitrix/catalog.section/.default
или
/bitrix/components/bitrix/catalog/templates/.default/bitrix/catalog.section.list/.default
Вставляем код:
<?=$arResult["DESCRIPTION"];?>
Ошибка #1064 при импорте базы данных
Ошибка #1064 при импорте базы данных
#1064 — У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около ‘TYPE=InnoDB AUTO_INCREMENT=1’ на строке
Решение:
Открываем базу в текстовом редакторе. Делаем замену:
TYPE на ENGINE

