我想使用 ACF 欄位將 Schema merkup 注入到我的 WordPress 網站上的幾個特定頁面。其中一些是自定義分類法或自定義帖子型別。
在對該主題進行了兩個小時的研究之后,我仍然陷入困境。
我創建了一個名為schema_code的文本區域欄位,并為我的一些子頁面輸入了所需的 Schema 標記。
我目前在我的functions.php中使用這個代碼,它沒有做任何事情:
function acf_header_script() {
$schema = get_field('schema_code');
echo '<script type=application/ld json>' . json_encode($schema_code) . '</script>';
}
add_action ( 'wp_head', 'acf_header_script' );
我在這里想念什么?非常感謝!
uj5u.com熱心網友回復:
在這種情況下, ACF 的第二個引數get_field()是必需的,因為您不在回圈中。它是https://www.advancedcustomfields.com/resources/get_field/post->ID的分類 ID{taxonomy_name}_{taxonomy_id}
由于您想在頁面和存檔等上執行此操作...您需要首先確定它是單頁還是存檔等。
function acf_header_script() {
// is it a single post?
if ( ! is_single() ) {
// no? get the queried object.
$object = get_queried_object();
if ( is_a( $object, 'WP_POST' ) ) {
$param = $object->ID;
} else {
$param = $object->taxonomy . '_' . $object->term_id;
}
} else {
// yes it's a single.
global $post;
$param = $post->ID;
}
$schema = get_field( 'schema_code', $param );
// if $schema is not empty.
if ( $schema ) {
echo '<script type=application/ld json>' . json_encode( $schema ) . '</script>';
}
}
add_action( 'wp_head', 'acf_header_script' );
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418959.html
標籤:
