Se si desidera rilevare collegamenti a Github Gist nei post e sostituirli con shortcode, gli shortcode verranno sostituiti con gist incorporati.
Istruzioni: Aggiungi il seguente codice al file functions.php del tuo tema WordPress.
<?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);
?>
Formati:
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]
Funziona perfettamente nella maggior parte dei casi, ma c'è un (o più?) caso in cui non funziona come dovrebbe:
https://gist.github.com/1147076#file_license.txt
Se aggiungiamo questo URL al nostro post, verranno visualizzati tutti i file di questo gist. Questo perché il nome del file nel gist è in maiuscolo. Questo funzionerà correttamente:
https://gist.github.com/1147076.js?file=LICENSE.txt
Potrebbe interessarti anche verificare se lo shortcode esiste già.
Commenti Lascia una risposta