Wenn Sie Links zu Github Gist in Beiträgen erkennen und durch Shortcodes ersetzen möchten, werden die Shortcodes durch eingebettete Gists ersetzt.
Anleitung: Fügen Sie den folgenden Code zur functions.php Ihres WordPress-Themes hinzu.
<?php
// [gist id="ID" file="FILE"]
function gist_shortcode($atts) {
return sprintf(
'<script src="https://gist.github.com/%s.js%s"></script>',
$atts['id'],
$atts['file'] ? '?file=' . $atts['file'] : ''
);
} add_shortcode('gist','gist_shortcode');
// Remove this function if you don't want autoreplace gist links to shortcodes
function gist_shortcode_filter($content) {
return preg_replace('/https://gist.github.com/([d]+)[.js?]*[#]*file[=|_]+([w.]+)(?![^<]*</a>)/i', '[gist id="${1}" file="${2}"]', $content );
} add_filter( 'the_content', 'gist_shortcode_filter', 9);
?>
Formate:
https://gist.github.com/1147076
https://gist.github.com/1147076#file_annotated.js
https://gist.github.com/1147076.js?file=annotated.js
[gist id=1147076]
[gist id=1147076 file=annotated.js]
Es funktioniert in den meisten Fällen perfekt, aber es gibt einen (oder mehrere?) Fall, in dem es nicht wie erwartet funktioniert:
https://gist.github.com/1147076#file_license.txt
Wenn wir diese URL zu unserem Beitrag hinzufügen, werden alle Dateien aus diesem Gist angezeigt. Das liegt daran, dass der Dateiname im Gist großgeschrieben ist. Dieser hier wird korrekt funktionieren:
https://gist.github.com/1147076.js?file=LICENSE.txt
Sie können auch prüfen, ob ein Shortcode bereits existiert.
Kommentare Hinterlasse eine Antwort