首頁>Web>source

我想為我的wordpress頁面中的职業职位添加動態JSON-LD(schema.org).我在下面尝試了此代碼.但是我想我在陣列中有一些語法錯誤.也许陣列中不允许使用" echo"? 我希望有人可以帮助我吗?

<?php function schema() {?>
<?php if( have_rows('schema_auszeichnung') ): ?>
    <?php while( have_rows('schema_auszeichnung') ): the_row(); 
        // Get sub field values.
        $title = get_sub_field('title');
        $description = get_sub_field('description');
        $state = get_sub_field('state');
        $date = get_sub_field('date');
        $street = get_sub_field('street');
        $city = get_sub_field('city');
        $postalcode = get_sub_field('postalcode');

$schema = array(
    '@context'  => 'http://schema.org',
    '@type'     => 'JobPosting',
    'title'      => $title,
    'description' => $description,
    'hiringOrganization'   => array(
        '@type'           => 'Organization',
        'name'            => 'cent GmbH',
        'sameAs'          => get_home_url(),
        'logo'            => '/wp/wp-content/uploads/2016/11/cropped-logo.png'
    ),
    'employmentType'=> $state,
    'datePosted'    => $date,
    'validThrough'  => "",
    'jobLocation'   => array(
        '@type'     =>  "Place",
        'address'   => array (
            '@type' => 'PostalAddress',
            'streetAddress' => $street,
            'adressLocality' => $city,
            'postalCode' => $postalcode,
            'addressCountry' => 'DE'

        ),
    ),     

);
?>
<?php endwhile; ?>
<?php endif; ?>
<?php

echo '<script type="application/ld+json">' . json_encode($schema) . '</script>';
}
add_action('wp_head', 'schema');
?>

編輯:

删除" echo"後,我得到了php警告:未定義變數:模式.但是對我来說,它是在以下行中定義的:$ schema = array .....

最新回復
  • 11月前
    1 #

    這似乎更像是一个PHP程式設計問题,但是是的,正如您在PHP中所猜測的,如果您想要a的值 您只需要 $var的變數 .威兹威兹 輸出它,並会在使用時引起語法錯誤。

    否則,其他一切看起来都很好,尽管顯然我不能說该資料結構是否可以為您提供有效的JSON-LD;-)

    編輯:最好给函式起一个比 echo $var更独特的名稱 .你可以稱它為 'schema' 之類的东西,以使其更加独特,並且不太可能与wordpress中的其他任何名稱冲突

    EDIT2:要解決您添加到問题中的額外錯誤,請定義 'yourname_jsonld_schema'內部是一个 $schema 語句,這意味着如果以後不定義變數,則表示 if 不是真的.所以你需要做一些類似的事情来弄清楚為什麼 if 是錯誤的,或者如果正確,請將其放在您使用 if的地方 在 $schema內 也是。

    if

  • wordpress:如何做資料庫的下載統計?
  • 一頁上的许多相同圖像是否占用大量頻寬?