Shortcode-ul din plugin-ul WordPress nu funcționează

5 sept. 2014, 22:45:21
Vizualizări: 69K
Voturi: 10

Am un shortcode definit într-un plugin după cum urmează:

// [tag1] -> Un Text Mai Lung
function shortcode_example1() {
    return 'Un Text Mai Lung';
}
add_shortcode('tag1', 'shortcode_example1');

Acum, în cadrul unei pagini WordPress, încerc să accesez plugin-ul astfel:

[tag1]

Cu toate acestea, shortcode-ul nu este executat, iar rezultatul afișat este doar "[tag1]". Mă puteți ajuta?

Mulțumesc pentru ajutor.

2
Comentarii

Codul tău funcționează pentru mine pe WP 3.9.2, fie într-un plugin, fie în functions.php. Alte shortcode-uri funcționează corespunzător?

Gabriel Gabriel
6 sept. 2014 02:29:14

De asemenea, confirm că acest shortcode funcționează corect. A fost eliminat cumva filtrul do_shortcode din hook-ul the_content? Încearcă să treci la o temă implicită (folosește tema ta the_content()?) și să dezactivezi toate pluginurile. Apoi activează-le unul câte unul pentru a identifica potențialul conflict.

helgatheviking helgatheviking
6 sept. 2014 23:27:20
Toate răspunsurile la întrebare 4
4
33

Există câteva lucruri de verificat aici

  • Unu: Este activat pluginul tău.

  • Doi: Este shortcode-ul în fișierul principal al pluginului. Dacă acel cod se află într-un alt fișier din interiorul pluginului, ai verificat dacă ai inclus acel fișier suplimentar în fișierul principal al pluginului?

  • Trei: Nu ai niciun fel de eroare în fișierul pluginului care să dezactiveze pluginul după activare. Ai setat debug la true. Unul dintre membrii site-ului are un plugin excelent de depanare disponibil pentru descărcare pe wordpress.org numit Debug Objects

  • Patru: Încearcă să muți shortcode-ul în functions.php al temei pentru a te asigura că shortcode-ul funcționează efectiv. Dacă nu funcționează în interiorul temei, problema ar putea fi chiar în tema în sine

  • Cinci: După cum a sugerat @helgatheviking, nu filtrezi the_content() într-un fel care ar putea provoca acest comportament?

  • Șase: Dacă toate cele de mai sus eșuează, dezactivează toate pluginurile, comută la o temă inclusă în pachet și verifică din nou. Dacă problema persistă, actualizează/reinstalează WordPress, deoarece acesta ar putea fi un fișier core corupt

7 sept. 2014 11:36:30
Comentarii

Am făcut lista de verificare: 1=bifat!, 2=da!, 3=nu, 4=ok, 5=nu, 6-> a funcționat! După ce am schimbat WordPress-ul meu local (pentru testare) de la 'Sydney Theme' la 'Twenty Fourteen', SC-ul a apărut. Se pare că există teme care împiedică afișarea SC-urilor în postări.

Martin Pfeffer Martin Pfeffer
13 mar. 2017 05:02:53

Mulțumesc Pieter pentru această listă de verificare. Se pare că nu am inclus corect fișierul meu... ups. Acum funcționează perfect :)

Self Designs Self Designs
15 mai 2018 13:55:32

Am făcut toate cele de mai sus și tot nu funcționează. Am o instalare nouă de WordPress (5.0.2) cu cod adăugat în fișierul functions.php. Dar când pun [numele_scurt] într-o pagină, este tratat ca text. Ce este greșit? Folosesc tema implicită: Twenty Sixteen.

hal hal
4 ian. 2019 15:08:53

Acesta este un checklist extrem de util. Singurul lucru pe care l-aș adăuga ar fi un punct Șapte: asigură-te că editorul tău de pagini nu îți distruge shortcode-ul ca în cazul meu: [plc_get_matter_detail_per_contact contacts=6c131-<wbr />668f13139e matters=6c620185-6211-1331-a642-668f6b7eea9e] Acel 'ajutător' WordBreak m-a făcut să pierd timp destul de mult. Mulțumesc editorule de pagini...

Brian Stinar Brian Stinar
8 nov. 2019 09:46:40
1
-1

adaugă asta

    add_filter('the_content', 'do_shortcode');
22 oct. 2018 15:48:17
Comentarii

De ce? Ce face asta? Unde ar trebui să adauge acest lucru? Te rugăm să editezi răspunsul tău folosind linkul de editare de mai sus și să adaugi mai multe informații despre cum acest lucru ajută la rezolvarea problemei.

Howdy_McGee Howdy_McGee
22 oct. 2018 17:22:36
0
-1

Am avut aceeași problemă:

Se pare că îmi lipsea

<?php 

la începutul fișierului.

Sper că te ajută acest lucru.

12 aug. 2022 19:33:50
1
-6

Mulțumesc pentru răspunsuri. După o investigație mai amănunțită, am descoperit că fișierul pluginului unde era definit shortcode-ul meu apărea ca "inactiv". Odată ce am mutat definițiile shortcode-ului într-un fișier activ, totul a început să funcționeze. Sper că această informație va fi utilă pentru oricine întâmpină aceeași problemă în viitor.

Mulțumesc din nou!

8 sept. 2014 23:07:49
Comentarii

Te rog să accepți răspunsul corect în locul celui propriu.

Self Designs Self Designs
15 mai 2018 13:52:06