Переопределить плагин с помощью functions.php
add_action('wp_head','add_gpp_gallery');
function add_gpp_gallery() {
if( ( is_single() || is_page() ) && ( !is_page_template('page-blog.php') ) ){
remove_shortcode('gallery', 'gallery_shortcode');
add_shortcode('gallery', 'gpp_gallery_shortcode');
}
}
Привет всем, я вытащил вышеуказанную функцию из файла основных функций плагина, и я надеялся изменить ее, чтобы заменить галерею WP по умолчанию только для моего пользовательского типа публикации. Поэтому я изменил оператор if выше на:
if (is_single() && is_post_type('post_type'){
Поэтому я изменил его и вставил в свой functions.php - но я получаю сообщение об ошибке, в котором говорится, что я не могу повторно объявить add_gpp_gallery
Как бы я переопределил функции плагина, не прикасаясь к плагину код?
Спасибо
РЕДАКТИРОВАТЬ
Я пытался:
remove_action( 'wp_head', 'add_gpp_gallery' );
add_action('wp_head','jason_add_gpp_gallery');
function jason_add_gpp_gallery() {
if ( is_single() && is_post_type('listings') ){
remove_shortcode('gallery', 'gallery_shortcode');
add_shortcode('gallery', 'gpp_gallery_shortcode');
}
}
И я получаю фатальную ошибку -
Неустранимая ошибка: Вызов неопределенной функции is_post_type() в /home/hostspro/public_html/movemaine.com/wp-content/themes/movemaine/functions.php в строке 269
РЕДАКТИРОВАТЬ #2
Я перепутал свои функции и забыл изменить тип is_post_type. Следующий код работает, и спасибо за помощь
remove_action( 'wp_head', 'add_gpp_gallery' );
add_action('wp_head','jason_add_gpp_gallery');
function jason_add_gpp_gallery() {
if ( is_single() && 'listings' == get_post_type() ) {
remove_shortcode('gallery', 'gallery_shortcode');
add_shortcode('gallery', 'gpp_gallery_shortcode');
}
}
1 answers
Вы можете изменить имя add_gpp_gallery
функция как в обратном вызове, так и в объявлении, чтобы избежать конфликта между оригиналом и вашим клоном.
Что-то вроде этого...
add_action('wp_head','jason_add_gpp_gallery');
function jason_add_gpp_gallery() {
if ( is_single() && 'your_post_type' == get_post_type() ) ){
remove_shortcode('gallery', 'gallery_shortcode');
add_shortcode('gallery', 'gpp_gallery_shortcode');
}
}
... должно сработать на вас.
Бонус: При необходимости вы можете удалить исходное действие плагина с помощью remove_action().