I make use of Jetpack for this blog in order to add some pretty handy functionality, cross posting to my silo accounts, commenting, and OpenGraph.
Unfortunately, I had to make a couple of tweaks in order to get Opengraph working correctly.
This info is dotted around t’internet, but as an aide-mémoire, I figured I’d consolidate here.
OpenGraph headers not showing
To start, I had to get the OpenGraph headers to show in the first place. This required me to make a minor modification to the code of the plugin, not exactly desirable, but good for the moment.
Basically, Jetpack has a list of plugins that it conflicts with, and if one of those plugins is running, then it disables certain features. Unfortunately, I was running one of these plugins.
I didn’t want to disable the plugin, but after reviewing the code, I figured I wasn’t making use of the conflicting functionality (namely Opengraph, and two sets of opengraph headers is known to cause problems), so I removed the plugin from the list.
This list is found in $conflicting_plugins
, which can be found in the function check_open_graph()
in the file class.jetpack.php
. Comment out the appropriate line at your own risk.
Missing/default open graph image
Next, I wanted to provide a default image for situations when the I don’t have a featured image in the post. This required a slight modification to my theme’s functions.php
, as described here and here.
Showing your twitter user instead of @jetpack
Finally, I wanted to use my own twitter handle (@mapkyca) for the twitter card, instead of the default @jetpack.
This was another quick addition to my functions.php
, e.g.
add_filter( 'jetpack_open_graph_tags', function( $og_tags ) {
$og_tags['twitter:site'] = '@mapkyca';
return $og_tags;
}, 11 );
See this discussion for details.