X

Shortcode Github Gist

Snippet di IsItWP

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à.

[code]', $atts['id'], $atts['file'] ? '?file=' . $atts['file'] : '' ); } add_shortcode('gist','gist_shortcode'); // Rimuovi questa funzione se non vuoi la sostituzione automatica dei link gist con shortcode function gist_shortcode_filter($content) { return preg_replace('/https://gist.github.com/([d]+)[.js?]*[#]*file[=|_]+([w.]+)(?![^<]*)/i', '[gist id="${1}" file="${2}"]', $content ); } add_filter( 'the_content', 'gist_shortcode_filter', 9); ?>[/code]

Commenti   Lascia una risposta

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!