Skip to content

Instantly share code, notes, and snippets.

@henshaw
henshaw / block-cloudflare-stream.php
Last active September 2, 2023 05:47
VideoObject Schema structured data for Cloudflare Stream videos in WordPress. To be used with Genesis Custom Blocks plugin.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "<?php block_field( 'cs-name' ); ?>",
"description": "<?php block_field( 'cs-description' ); ?>",
"thumbnailUrl": "<?php block_field( 'cs-thumbnail' ); ?>",
"uploadDate": "<?php the_time('c'); ?>",
"duration": "PT<?php $cshours = block_field( 'cs-hours', false ); if ( ! empty( $cshours ) ) { echo $cshours . 'H'; } ?><?php $csminutes = block_field( 'cs-minutes', false ); if ( ! empty( $csminutes ) ) { echo $csminutes . 'M'; } ?><?php $csseconds = block_field( 'cs-seconds', false ); if ( ! empty( $csseconds ) ) { echo $csseconds . 'S'; } ?>",
"embedUrl": "https://<?php block_field( 'cs-subdomain' ); ?>/<?php block_field( 'cs-id' ); ?>/iframe"
@henshaw
henshaw / preview-cloudflare-stream.php
Created February 23, 2021 18:53
Preview custom block for block-cloudflare-stream.php. Makes the block visible in the WordPress editor.
<p style="color:darkorange;"><strong>Cloudflare Stream Video Schema</strong></p>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Name of video",
"description": "Description of video",
"thumbnailUrl": "https://coywolf.pro/wp-content/uploads/2019/06/og-coywolf.png",
"uploadDate": "2021-02-21T11:34:07-06:00",
"duration": "PT1M43S",
"embedUrl": "https://[Customer Subdomain]/[Video ID]/iframe"
<div class="logo"><a href="/"><?php bloginfo('name'); ?></a></div>
<img src="<?php bloginfo('template_directory'); ?>/images/logo.png" alt="<?php bloginfo('name'); ?>">
nav.top .logo img { height:2rem; }
set_post_thumbnail_size( 150, 79, true );
add_image_size( 'single-post-thumbnail', 1200, 630 );
/* Colors */
nav.top, nav.top ul { background:#0E52AE; }
nav.top, nav.top a, .intro, nav.top a:link, nav.top a:visited, nav.top a:hover { color:#fff; }
nav.top .select { background:#fff; }
nav.top, nav.top a, .intro, nav.top a:link, nav.top a:visited { color:#fff; }
nav.top a:hover { color:#eee; }
.intro { background:#eee; }
.intro h1, .intro p { color:#000; }