Как переопределить файл шаблона плагина Wordpress, который не находится в папке "templates"? - PullRequest
0 голосов
/ 24 июня 2019

Если файл шаблона плагина находится в папке 'templates', мы можем легко переопределить дочернюю тему, добавив папку с именем плагина и скопировав в нее тот же файл. Тем не менее, некоторые плагины именуют папку с шаблонами как public или views, как переопределить?

Я создал папку, названную в честь плагина, а затем подпапки, соответствующие структуре плагина, но безуспешно.

структура шаблона плагина /wp-content/plugins/woo-product-slider/public/views/shortcoderender.php. Я создал /mytheme-child/woo-product-slider/public/views/shortcoderender.php, /mytheme-child/woo-product-slider/views/shortcoderender.php, / mytheme-child / woo-product-slider / public /shortcoderender.php, /mytheme-child/woo-product-slider/templates/shortcoderender.php все не удалось, ничего не произошло.

Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 24 июня 2019

Я только что посмотрел на источник для Product Slider для WooCommerce и не похоже, что эти загрузки файлов фильтруются или проверяются версии тем - это жестко запрограммировано для их загрузки только из плагина.

К сожалению, не все плагины позволяют добавлять собственные файлы шаблонов. В этом случае, поскольку похоже, что вы пытаетесь изменить это короткий код, я бы рекомендовал сделать копию функции wps_shortcode() в shortcoderender.php и добавить ее копию в файл functions.php вашей темы:

function my_wps_shortcode( $attributes ) {
    extract( shortcode_atts( array(
        'id' => '',
    ), $attributes, 'my_woo_product_slider' ) );

    //  ...and then all the rest of the code
}

add_shortcode('my_woo_product_slider', 'my_wps_shortcode');

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...