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');
}
}
そして私は致命的なエラーを受け取ります -
致命的なエラー:269行目の/home/hostspro/public_html/movemaine.com/wp-content/themes/movemaine/functions.phpにある未定義の関数is_post_type()を呼び出してください
編集#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');
}
}
元のクローンとクローンの間の競合を避けるために、コールバックと宣言の両方での名前を変更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() で元のプラグインアクションを削除できます。