Table crashed and should be repaired(mysql)

На днях на сайте вылезла ошибка о повреждении таблицы в бд (table name_of_table crashed and should be repaired). Начал гуглить, как оказалось, не все так страшно.

Создаем резервную копию базы:

[root@localhost~]#mysqldump -u{name_of_user} -p{password_for_user} {database_name} {path/to/file.sql}

В моем случае mysql стал ругаться что доступ запрещен

Читать далее «Table crashed and should be repaired(mysql)»

Краткая инструкция по установке wordpress на сервере используя wp cli

Решил я тут для себя памятку замастрячить по тому как с помощью wp cli можно быстро разворачивать сайты на WordPress. Глядишь, кому-нибудь пригодиться=)
Инструкция по работе с утилитой есть на сайте. Для минимизация шатания по документации приведу вам код прямо тут: Читать далее «Краткая инструкция по установке wordpress на сервере используя wp cli»

Тест микроразметки контактных данных организации(shema.org)

Название организации
Первый почтовый адрес:
почтовый индекс
город
улица дом
номер факса
телефон
email@email.com
Второй почтовый адрес:
почтовый индекс 2
город 2
улица2 дом2
номер факса2
телефон2
email2@email2.com

ошибка шаблонизатора Smarty при добавлении кода GA

Наткнулся на удивильное сочетание smarty и кода счетчика гугла: после добавления последнего в шаблон получил ошибку:

<b>Fatal error</b>: Smarty: [in header.tpl line xx]: syntax error: invalid attribute name...

что немного удивило меня. Оказывается, smarty пытается код обработать как свой. Благо, решение нашлось почти сразу в поисковиках: нужно обернуть весь код счетчика вот в такую конструкцию:

{literal}тут код вашего счетика{/literal}

В моем случае это выглядит так:

{literal}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-xxxxxxxx-x', 'auto');
ga('send', 'pageview');

</script>
{/literal}

 

Убираем лишние теги, возникающие при вставке шорткодов

После написания «велосипеда» для оборачивания части текста в тег noindex обнаружилось, что вокруг шорткода магическим образом появляются лишние теги типа «p» и «br». Благо, в этот раз гугл не подвел: почти сразу наткнулся на готовый [tag_noindex]плагин[/tag_noindex] который решает данную проблему.
Установка ничем не отличается от стандартных плагинов — через админку или же можно скачать по ссылке приведенной чуть выше, закинуть по FTP(не забываем активировать в админке!!!). После этих несложных манипуляций наши шорткоды будут выводится в предсказуемом виде.
Всем удачи и безмерного счастья)

Шорткод для вставки тега noindex в записях

Возникла необходимость закрыть от индексации часть текста на страницах(и постах) для wordpress. WordPress же очень странно ведет себя если просто в html код вбивать тег noindex(получается всё что угодно кроме того что нужно). Долго гуглил, решения так и не нашел. Пришлось изобретать велосипед… Читать далее «Шорткод для вставки тега noindex в записях»

Эпопея с *.tar.gz

Приключилось со мной тут страшное — потер на сайте один файл а созданием резервной копии для него не позаботился второпях. Пришлось брать общий бекап всего сайта(который, вдобавок, оказался разбитым на кучу архивов в этом небезызвестном формате). Прог под винду, способных собрать и открыть архив такого формате не нагуглил… пришлось ставить ubuntu на виртуальную машину VirtualBox для этой цели. Отсюда, как обычно, выплыло несколько проблем:

Читать далее «Эпопея с *.tar.gz»

Получить id раздела по символьному коду(«code»)

/*--  функция вычисления id раздела по его символьному коду --*/
function getIdByCode($code, $IBLOCK_ID, $type)
{
    if(CModule::IncludeModule("iblock"))
    {
            $res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID, 'CODE' => $code, 'SITE_ID' => $site_id));
            $section = $res->Fetch();
            if($res->SelectedRowsCount() != 1) return '<p style="font-weight:bold;color:#ff0000">Раздел не найден</p>';
            else return $section['ID'];
    }
}
/*--  функция вычисления id раздела по его символьному коду --*/