Вадим Фоминов | Создаю сайты на Wordpress
1.53K subscribers
233 photos
5 videos
15 files
112 links
Про сайты со сложной структурой: интернет-магазин, сайт-каталог, блог, сайт-портфолио или личный кабинет любой сложности.

Для связи: @vadimfominov
Download Telegram
Интересно получается, если нужно вывести контент поста, то использую the_content() и радуюсь. Выводит всё красиво со всеми тегами p и т.д.

Но, если хочу контент записать в переменную, то использую get_the_content() и когда использую эту переменную, то никаких тегов нет. Один сплошной текст.

Нужно было переменную через фильтр пропустить и тогда появятся все необходимые теги.

$content = get_the_content();
$content = apply_filters('the_content',$content);
$content = str_replace(']]>',']]>',$content);

А контент поста положить в переменную мне понадобилось когда создавал API для страницы блога. Поэтому и контент в посте выше нужно пропустить через фильтр.

$content = $post[0]->post_content;
$content = apply_filters('the_content',$content);
$content = str_replace(']]>',']]>',$content);
Акция в интернет-магазине заканчивается. Ключ активации у плагина подходит к концу. А как об этом сообщить пользователю или админу сайта?

Обычно известен конец мероприятия. Перевожу эту дату в секунды.
Потом перевожу в секунды текущую дату и узнаю разность между ними.
Полученный результат делю на 60*60*24 и получаю количество дней до конца акции.
wp_ajax_(action) — срабатывает при WP AJAX запросе для авторизованного пользователя. Это запрос на файл /wp-admin/admin-ajax.php.

wp_ajax_nopriv_(action) — срабатывает при WP AJAX запросе для НЕ авторизованного пользователя. Это запрос на файл /wp-admin/admin-ajax.php.

(action) — это динамическая часть хука, в которой нужно указать название AJAX события. Это название нужно будет использовать как GET|POST параметр action в самом AJAX запросе на файл /wp-admin/admin-ajax.php. А также, на основе этого названия нужно будет создать хук, который будет обрабатывать AJAX запрос.
query_posts() -  получает записи для текущей страницы (архив авторов, отдельная запись, рубрика, метка)

Вывод формируется на основе того, какая страница показывается (главная, архив по дате, категория, архив автора и т.п.). Например, можно изменить цикл так:
✓  показывать только один пост на главной странице блога;
✓ показывать последние посты только на главной странице блога;
✓ изменить порядок сортировки постов;
✓ показывать или не показывать посты из определенной категории.

Какие параметры принимает функция можно почитать тут 👇
remove_menu_page() - удаляет пункты меню верхнего уровня (записи, медиафайлы, страницы) в админ-панели.

Удаляет пункты меню только визуально, т.е. удаление пунктов меню таким образом не предотвращает от доступа к этим пунктам напрямую (например, для доступа можно ввести соответствующую ссылку в браузере). Такое удаление требует контроля доступа пользователя, несмотря на то, что в меню пунктов нет.
remove_submenu_page() - Удаляет подпункт пункта меню в админ-панели WordPress.
Принимает два аргумента.
remove_submenu_page( $menu_slug, $submenu_slug );

$menu_slug - название пункта меню, подпункт которого нужно удалить.
$submenu_slug - название подпункта меню, который нужно удалить.
wp_deregister_style() - отменяет регистрацию CSS файла стилей.

Функция может пригодиться, когда нужна перерегистрация стилей, когда нужно изменить файл стилей, но оставить прежний идентификатор.
Функция Wordpress.
wp_rand( $min, $max ) - генерирует случайное число между указанных min и max.

Функция PHP.
random_int( int $min, int $max ) — генерирует криптографически безопасные псевдослучайные целые числа.
register_post_type() — создает новый тип записи или изменяет имеющийся.

❗ После создания нового типа записи. Обязательно нужно зайти на страницу  Настройки → Постоянные ссылки. Нужно это для того, чтобы правила ЧПУ были пересозданы и туда были добавлены правила нового типа записи.
Таксономия - это принцип расположения чего-либо. Для WordPress - это принцип расположения записей.

Таксономии можно сравнить с папками на компьютере: куда складываются файлы. Заходим в папку, видим список файлов. В WordPress аналогично: заходим в таксономию (рубрику), видим список записей в ней.

Типы таксономий:
✓ Древовидные - например рубрики
✓ Линейные (плоские) - например метки
register_taxonomy( $taxonomy, $object_type, $args ) - Создает новую произвольную таксономию WordPress. Позволяет изменить существующую таксономию.

✓ $taxonomy - название создаваемой таксономии
✓ $object_type - название типов постов, к которым будет привязана таксономия
✓ $args - параметры таксономии

Функция позволяет добавить (зарегистрировать) пользовательскую таксономию WP или поменять данные таксономии которая уже была зарегистрирована.

При изменении существующей таксономии значение параметра $object_type из первоначальной регистрации будет перезаписано. Поэтому, его важно указать заново такое же как было или новое.
WP-CLI (WP Command Line Interface) — это интерфейс командной строки для WordPress. Он позволяет устанавливать/обновлять/удалять темы и плагины, создавать и просматривать любые данные на сайте, изменять настройки сайта и многое другое. Все это делается из командной строки без использования браузера.

Посмотреть список всех команд можно тут 👇👇
get_term( $term, $taxonomy, $output, $filter ) - получает данные об элементе таксономии (термине) по переданному ID.

$term - если передан ID, то данные будут получены из БД. Если передан объект, то будут применены фильтры и возвращен переданный объект.
$taxonomy - название таксономии, к которой принадлежит элемент $term.
$output - каким видом массива возвращать данные (
OBJECT - объект.
ARRAY_A - ассоциативный массив.
ARRAY_N - индексированный массив.
)
$filter - как очищать поля массива перед возвращением.
При регистрация типа записи иконка в меню – иконка обычных записей. menu_icon - отвечает за иконку для меню в админке. 

✓ можно указать URL иконки
✓ можно передать SVG-иконку, зашифровав её в base64
Когда регистрируешь таксономию можно указать какой она должна быть и за это отвечает аргумент hierarchical.

✓ true - таксономия будет древовидная (иерархическая) - будет иметь checkbox'ы на странице редактирования поста (например категории поста).
✓ false - таксономия будет не древовидная (Не-иерархическая) - будет иметь просто пустое текстовое поле для ввода имени элемента таксономии (например теги поста).
Данная статья предназначена в первую очередь для разработчиков и тех, кто хочет подробнее разобраться.
wp_localize_script() - добавляет дополнительные данные перед указанным скриптом, который находится в очереди на вывод.

Эта функция регистрирует данные для указанного скрипта, затем перед подключением самого скрипта указанные в этой функции данные выводятся в теге <script> в виде JS объекта.

При этом на момент использования этой функции скрипт к которому эта функция подключается еще не должен быть выведен.
В коде это должно выглядеть так:
// регистрируем скрипт
wp_register_script( $id, ... )

// добавляем данные к зарегистрированному скрипту
wp_localize_script( $id, ... )

// планируем скрипт на вывод
wp_enqueue_script( $id )
wp_recursive_ksort() - сортирует массив и все вложенные массивы по ключу в порядке возрастания (a-z).

Рекурсивно применяет функцию ksort() для массива и всех вложенных массивов.
Если значение массива не является массивом, то оно останется нетронутым.
Дайджест свежих материалов из мира WordPress

Всегда свежие публикации по тематике WordPress: новости, авторские статьи, руководства, обзоры тем, плагинов и книг, посты по безопасности и техническому SEO, горячие вакансии и анонсы онлайн и офлайн мероприятий.

#wordpress #php #wpdigest

Ссылка на канал: 👉 https://t.me/wordpress_digest
🤗1
wp_filesize( $path )  - получает размер указанного файла.
Обертка для PHP filesize() с фильтрами и преобразованием результата в целое число.

$path - путь к файлу, размер которого нужно получить.
add_query_arg() - это функция собирает массив в параметры запроса.

add_query_arg( [ 'key1'=>'value1' ], $uri );

$uri - URL куда нужно добавить GET параметры. Можно не указывать и параметры добавятся к текущей страницы.