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\'){
所以我修改了它,并将其应用到我的函数中。php-但我收到一个错误,说明我无法重新声明add\\u gpp\\u gallery
如何在不接触插件代码的情况下重写插件的功能?
谢谢
EDIT
我试过:
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\');
}
}
我犯了一个致命的错误-
致命错误:对未定义函数的调用是/home/hostspro/public\\u html/movemaine中的\\u post\\u type()。com/wp内容/主题/movemaine/功能。php第269行
EDIT #2
我交叉连接了我的函数,忘记了更改is\\u post\\u类型。以下代码正在运行,感谢您的帮助
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\');
}
}
最合适的回答,由SO网友:Michal Mau 整理而成
你可以change the name of add_gpp_gallery
function 在回调和声明中都可以避免原始和克隆之间的冲突。
像这样的。。。
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() 如果需要。