Как программно вставить код схемы в WordPress, чтобы он автоматически работал для целевого типа записи - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть схема json код, который мне нужно добавить в WordPress. Я знаю, как добавить это в отдельный пост, но я ищу ситуацию, когда мне не нужно это вручную для каждого поста. Я хочу вставить код так, чтобы он автоматически работал для определенного типа записи c, на который я нацеливаюсь, который в данном случае соответствует. Я не уверен, как go об этом. У меня есть настраиваемые поля, которые я собирался вставить в этот код, используя php, но я не уверен, что это возможно. Пожалуйста, помогите, спасибо.

<script type="application/ld+json">
{
    "@context":"http://schema.org",
    "@type":"SportsEvent",
    "name": "Team A vs Team B",
    "description": "Team A vs Team B for League Match",
    "startDate": "2020-03-01",
    "endDate": "2020-03-01",
    "competitor": [
    {
        "@type": "SportsTeam",
        "name": "Team A",
        "image":"https://example.com/wp-content/uploads/2015/03/650.png"
        },
    {
        "@type": "SportsTeam",
        "name": "Team B",
        "image":"https://example.com/wp-content/uploads/2015/03/680.png"
    }
    ],
    "location": {
        "@type": "Place",
        "address": "Stadium of Team A"
    }
}
</script>

1 Ответ

0 голосов
/ 28 февраля 2020

Вы можете добавить эту функцию в functions.php файл вашей темы

function sports_event_schema() {
echo '
<script type="application/ld+json">
{
    "@context":"http://schema.org",
    "@type":"SportsEvent",
    "name": "Team A vs Team B",
    "description": "Team A vs Team B for League Match",
    "startDate": "2020-03-01",
    "endDate": "2020-03-01",
    "competitor": [
    {
        "@type": "SportsTeam",
        "name": "Team A",
        "image":"https://example.com/wp-content/uploads/2015/03/650.png"
        },
    {
        "@type": "SportsTeam",
        "name": "Team B",
        "image":"https://example.com/wp-content/uploads/2015/03/680.png"
    }
    ],
    "location": {
        "@type": "Place",
        "address": "Stadium of Team A"
    }
}
</script>';
}
if ( 'Matches' == get_post_type() ) {
 add_action('wp_footer', 'sports_event_schema');
}

Другой вариант - добавить json прямо в верхний или нижний колонтитул и добавить только оператор if:

<?php if ( 'Matches' == get_post_type() ) : ?>
<script type="application/ld+json">
{
    "@context":"http://schema.org",
    "@type":"SportsEvent",
    "name": "Team A vs Team B",
    "description": "Team A vs Team B for League Match",
    "startDate": "2020-03-01",
    "endDate": "2020-03-01",
    "competitor": [
    {
        "@type": "SportsTeam",
        "name": "Team A",
        "image":"https://example.com/wp-content/uploads/2015/03/650.png"
        },
    {
        "@type": "SportsTeam",
        "name": "Team B",
        "image":"https://example.com/wp-content/uploads/2015/03/680.png"
    }
    ],
    "location": {
        "@type": "Place",
        "address": "Stadium of Team A"
    }
}
</script>

<?php endif; ?>
...