Shortcode del plugin Wordpress non funzionante


9

Ho un shortcode definito in un plugin come segue:

// [tag1] -> Some Longer Text
function shortcode_example1() {
    return 'Some Longer Text';
}
add_shortcode('tag1', 'shortcode_example1');

Ora, all'interno di una pagina di wordpress, sto provando ad accedere al plugin come segue:

[tag1]

Tuttavia, lo shortcode non viene eseguito e l'output è solo "[tag1]". Puoi aiutare?

Grazie per l'aiuto.


Il tuo codice funziona per me su WP 3.9.2, sia in un plug-in che Funzioni.php. Gli altri codici funzione funzionano correttamente?
Gabriel,

1
Confermo anche che questo shortcode funziona bene. Qualcosa ha rimosso il do_shortcodefiltro dal the_contentgancio? Prova a passare a un tema predefinito (il tuo tema sta usando the_content()?) E disabilita tutti i plugin. Quindi abilitali 1 per 1 per trovare il potenziale conflitto.
helgatheviking,

Risposte:


31

Ci sono un paio di cose da controllare qui

  • Uno: il tuo plugin è attivato.

  • Due: è il tuo shortcode nel tuo file plugin principale. Se quel codice si trova in un altro file all'interno del tuo plugin, ti sei assicurato di includere quel file extra nel tuo file plugin principale

  • Tre: non hai alcun tipo di errore nel file del plug-in che disattiva il plug-in dopo l'attivazione. Hai impostato il debug su true. Uno dei membri del sito ha un eccellente plug-in di debug disponibile per il download su wordpress.org chiamato Debug Objects

  • Quattro: prova a spostare il tuo shortcode nelle funzioni.php del tuo tema per assicurarti che il tuo shortcode funzioni effettivamente. Se non funziona all'interno del tema, il problema potrebbe effettivamente riguardare il tema stesso

  • Cinque: come suggerito da @helgatheviking, non stai filtrando the_content()in alcun modo che potrebbe causare questo comportamento

  • Sei: se tutto quanto sopra fallisce, disattiva tutti i plugin, passa a un tema in bundle e ricontrolla. Se il problema persiste, aggiornare / reinstallare Wordpress, poiché potrebbe trattarsi di un file core danneggiato


Ho fatto la checklist: 1 = check !, 2 = yes !, 3 = no, 4 = ok, 5 = no, 6-> ha funzionato! Dopo aver cambiato il mio wp locale (per i test) da "Sydney Theme" a "Twenty Fourteen" viene mostrato SC. Sembra che ci siano temi che impediscono ai SC di comparire nei post.
Martin Pfeffer,

Grazie Pieter per questa lista di controllo. Ho scoperto che non avevo incluso correttamente il mio file ... woops. Funziona bene ora :)
Chess Byte,

Ho fatto tutto quanto segue e ancora non funziona. Ho una nuova installazione di WordPress (5.0.2) con il codice aggiunto al file Functions.php. Ma quando inserisco [shortcodename] in una pagina viene trattato come testo. Che c'è? Uso il tema predefinito: Twenty Sixteen.
hal

Questa è una lista di controllo super utile. L'unica cosa che aggiungerei sarebbe un Seven: assicurati che il tuo editor di pagine non stia caricando il tuo shortcode come il mio era: [plc_get_matter_detail_per_contact contatti = 6c131- <wbr /> 668f13139e matters = 6c620185-6211-1331-a642-668f6b7eea9e ] Quel 'utile' WordBreak mi ha incasinato per un po '. Grazie editor di pagine ...
Brian Stinar

-1

Aggiungi questo

    add_filter('the_content', 'do_shortcode');

1
Perché? Cosa fa questo? Dove lo aggiungerebbero? Si prega di modificare la risposta utilizzando il modifica link qui sopra e aggiungere ulteriori informazioni su come questo aiuta a risolvere il problema.
Howdy_McGee

-4

Grazie per le tue risposte Dopo ulteriori indagini, ho scoperto che il file del plug-in in cui era stato definito il mio shortcode veniva visualizzato come "inattivo". Dopo aver spostato le definizioni dei miei shortcode in un file attivo, tutto ha iniziato a funzionare. Spero che questo sia utile per chiunque lo incontri in futuro.

Grazie ancora!


Accetta la risposta corretta anziché la tua.
Byte di scacchi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.