thehighhomie: не совсем понял вопрос. В объявлении каждой функции видно, передаются ли в неё аргументы или нет. Большинство из них просто подключает кусочек шаблона. Если хотите изменить существующий экшн, скопируйте в к себе в тему шаблон и меняйте его. Если добавить экшн то в functions.php пишем что-то вроде
function woocommerce_custom_product_text() {
if (get_field('custom_option')) {
echo '';
//в данном случае здесь произвольное поле плагина ACF
the_field('custom_option');
echo '';
}
}
Аргументы в add_action - это куда вставлять, что вставлять, и приоритет
Чтобы изменить порядок существующих экшнов, сделайте им remove_action, а потом подключите обратно через add_actio, но расставьте нужные вам приоритеты.
P.S. Если будут ошибки на использование методов $product->..... в шаблоне пишем global $product;
Игорь Воротнёв: шаблон, кончено taxonomy-authors.php, код, естественно в functions.php) я уже получил, что хотел.. хук получился такой
add_action('pre_get_posts','mandrivets_authors');
function mandrivets_authors($query){
if( $query->is_tax('authors') && $query->is_main_query() && ! $query->is_admin()) {
$query->set('wc_query', '');
$query->set('post_type', 'post');
$query->set('meta_query', '');
}
}
там в "meta_query" еще были аргументы на видимость в каталоге, что актуально только для продуктов)
Влад Серов: На ютубе есть видео уроки по созданию тем на WP, найти можно без проблем. Посмотрите их. Нужно понять что такое Цикл (Loop) WordPress, что он делает, как работать вне цикла и как создать свой с помощью класса WP_Query. Неплохо бы разобраться в терминологии ВП и иерархии шаблонов темы https://codex.wordpress.org/images/1/18/Template_H... . На самом PHP, в принципе, особо делать ничего не придется, вы будете пользоваться встроенными функциями WP. Но базовый синтаксис php знать нужно. Посмотрите операторы - арифметические, сравнения; переменные; условия if else; циклы. Это что бы читать код и понять как его вставлять в html разметку. Ну и курить https://codex.wordpress.org и wp-kama.ru. По названием функций вполне очевидно, что они делают.Ну или гуглите, что хотите сделать, первые пару ссылок точно приведут на кодекс или каму. Все функции в основном парные. т.е the_ и get_. Например the_title(); выводит заголовок поста на экран, а get_the_title(); возвращает его значение для записи куда-нибудь в переменную. Так же есть функции-условия, типа is_category(); функция проверяет находитесь ли вы в категории и возвращает ложь или истинну.
Влад Серов: с таким плагином не знаком. Если он создал тип поста cafe, и к нему прикрутил таксономию, например, cafe_tags со своими терминами, то получить список терминов определенной таксономии можно функцией get_terms(); wp-kama.ru/function/get_terms
Павел: к тебе самому заказчик придет через год, попросит добавить какую-нибудь плюшку или новый тип поста, изменить стиль статьи... да что угодно. Откроешь свой код и призадумаешься)
Мне одному интересно, зачем минифицировать css и js. Зачем фронтендеры это делают? Что бы потом его было бы невозможно обслуживать? Css при интеграции еще 10 раз может переписываться. Не проще минифицировать уже позже, средствами сервера? тот же W3TotalCache плагин все это умеет. На некоторых шаредах в админке есть такие настройки.
Вениамин Смирнов: ничего не могу сказать) я не так силен в JS.врядли получится написать грамотнее, чем существующие решения. Изобретать велосипеды, знаете ли, дурной тон)) Если все слайдеры написаны именно так, значит на то есть причины. Я бы пробовал играться со скрываемыми блоками.. opacity, visibility, через z-index друг на друга накладывать, не скрывая. Или вынести за страницу.. типа сделать слайдер из блоков, а внутри уже слайдеры))
Code Keeper: о том, что этот путь "site.com/wp-content/themes/theme/img/old-phone.svg" напрямую открывается в браузере и forbidden я не получаю, а получаю картинку. И о том, что аналогичный код работает на других сайтах. Но вот я прописал абсолютный путь <?php echo file_get_contents('/var/www/user/data/www/site/wp-content/themes/theme/img/'.$post->post_name.'.svg'); ?> и свершилось чудо. Спасибо
Code Keeper: доступен естественно, как и свгшки доступны напрямую из браузера, я об этом писал. Кроме того, код аналогичный на всех сайтах, я тоже писал это. Проблема на одном сайте конкретном. одинаковый код будет работать везде кроме проблемного сайта. WP выводит корректные пути, все изображения подключаются, по полученным путям картинки в браузере напрямую открываются, а file_get_contets выдает ошибку.. лог я закинул в вопрос. Права тоже стоят 644 и 755
Code Keeper: я же написал, что все проверено и работает.. получаю путь, вставляю в браузер и получаю картинку... и кроме свг куча иконок на сайте выводится таким образом: img src="<?php echo get_template_directory_uri()?>/img/letter.png"
Ложу в корень сайта txt, пишу echo get_file_contents('domain/text.txt'); - ничего не получаю, вардамп показывает false. есть еще 2 сайта на wp, переносились в один день с одного хостинга на один vps - проблема только на одном.