X

Shortcode Github Gist

Fragmente de IsItWP

Dacă doriți să detectați linkuri către Github Gist în postări și să le înlocuiți cu shortcode-uri, atunci shortcode-urile vor fi înlocuite cu gist-uri încorporate.

Instrucțiuni: Adăugați următorul cod în fișierul functions.php al temei dvs. 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);
?>

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]

Funcționează perfect în majoritatea cazurilor, dar există un (sau mai multe?) caz în care nu funcționează așa cum ar trebui:
https://gist.github.com/1147076#file_license.txt

Dacă adăugăm acest URL la postarea noastră, va afișa toate fișierele din acest gist. Acest lucru se întâmplă deoarece numele fișierului în gist este cu majuscule. Acesta va funcționa corect:

https://gist.github.com/1147076.js?file=LICENSE.txt

De asemenea, s-ar putea să vă placă verificarea dacă shortcode-ul există deja.

[code]', $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.]+)(?![^<]*)/i', '[gist id="${1}" file="${2}"]', $content ); } add_filter( 'the_content', 'gist_shortcode_filter', 9); ?>[/code]

Comentarii   Lasă un răspuns

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!