All in one SEO Pack が出力するJSON-LDを特定の投稿タイプのときだけキャンセルしたい

情報がなかったのでプラグインの中でフックを探す。

<?php

// 中略

/**
    * The aioseop_disable_schema filter hook.
    *
    * Used to disable schema.org output programatically.
    *
    * @since 3.2.8
    *
    * @return boolean
    */
if ( ! apply_filters( 'aioseop_disable_schema', false ) ) {
    // Handle Schema.
    if ( version_compare( PHP_VERSION, '5.5', '>=' ) ) {
        if ( ! empty( $aioseop_options['aiosp_schema_markup'] ) && boolval( $aioseop_options['aiosp_schema_markup'] ) ) { // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.boolvalFound
            $aioseop_schema = new AIOSEOP_Schema_Builder();
            $aioseop_schema->display_json_ld_head_script();
        }
    } else {
        if ( ! empty( $aioseop_options['aiosp_schema_markup'] ) && (bool) $aioseop_options['aiosp_schema_markup'] ) {
            $aioseop_schema = new AIOSEOP_Schema_Builder();
            $aioseop_schema->display_json_ld_head_script();
        }
    }
}

// 後略

上記のフィルターフック「 aioseop_disable_schema 」を使う。

デフォルトでは false を返すので、条件に合致したときだけ true を返せばいい。

<?php

/**
 *
 * disable gallery slider schema
 * 投稿タイプ「ギャラリー」のヘッダ内のJSON-LDの出力をコントロール
 *
 * @param $url 記事URL
 */

function disable_gallery_schema() {
	if ( function_exists( 'aioseop_load_modules' ) ) {
		if ( is_singular( 'gallery' ) ) {
			return true;
		}
	}
	return;
}
add_filter( 'aioseop_disable_schema', 'disable_gallery_schema' );

functions.php に上記を書けばOK!

投稿日:
カテゴリー: WordPress