Hallo zusammen, ich bin neu hier und das ist mein erster Beitrag.
Ich habe auf meinem neuen Blog das "rate my post (FeedbackWP)" Plugin installiert und möchte jetzt mit einem Filter, den der Plugin Hersteller in seinen Docs liefert die Strukturierten Daten über die functions.php meines Child Themes in meinen Posts ändern. Der Filter sieht wie folgt aus:
Code
function blazzdev_structured_data( $structuredData ) {
$structuredData = '
<script type="application/ld+json">
//your structured data
</script>
';
return $structuredData;
}
add_filter( 'rmp_structured_data', 'blazzdev_structured_data' );
Alles anzeigen
Ich habe keinerlei Programmierkenntnisse, aber was ich mir bisher angelesen habe, müsste es in die folgende Richtung gehen. Kann mir jemand sagen, ob ich auf dem richtigen Weg bin?
Code
function blazzdev_structured_data( $structuredData ) {
// Wordpress
$title = get_the_title();
$thumbURL = get_the_post_thumbnail_url();
$author = get_the_author();
$datePublished = get_the_date('Y-m-d');
$dateModified = get_the_modified_date('Y-m-d');
$description = get_the_excerpt();
$blogName = get_bloginfo('name');
$url = get_site_icon_url();
$permalink = get_permalink();
// Rate my post plugin /wp-content/plugins/rate-my-post/public/templates
$average_rating = Rate_My_Post_Common::get_average_rating( $post_id );
$max_rating = 5;
$vote_count = Rate_My_Post_Common::get_vote_count( $post_id );
$structuredData = '
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "' . $title . '",
"image": [
"' . $thumbURL . '"
],
"author": {
"@type": "Person",
"name": "' . $author . '"
},
"datePublished": "' . $datePublished . '",
"dateModified": "' . $dateModified . '",
"description": "' . $description . '",
"publisher": {
"@type": "Organization",
"name": "' . $blogName . '",
"logo": {
"@type": "ImageObject",
"url": "' . $url . '"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "' . $permalink . '"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "' . $average_rating . '",
"bestRating": "' . $max_rating . '",
"ratingCount": "' . $vote_count . '"
}
}
</script>
';
return $structuredData;
}
add_filter( 'rmp_structured_data', 'blazzdev_structured_data' );
Alles anzeigen