2017-10-25 2 views
0

Hat jemand dieses Problem schon einmal festgestellt? Wenn Sie den Shortcode direkt von WordPress aus aufrufen und den Shortcode über functions.php aufrufen, ergeben sich andere Ergebnisse.do_shortcode bricht die Formatierung

Siehe dieses img:

Bild 1 hat ordentliches Design, da es direkt von Wordpress UI aufgerufen wurde, während Bild 2 irgendwie das Design vermasselte, weil es von PHP (functions.php) aufgerufen wurde.

Zusätzliche Informationen:

  • Aktuelles Thema ist DIVI
  • Short/verwendet Plugin TableMaster ist

weitere Informationen hinzuzufügen, ich habe diese Linie des Shortcode in Wordpress (wie auf Bild zu sehen 2).

[get_blogs_sc] 

Und auf meinem functions.php, ich habe diese Funktion,

function GetActiveBlogs($i) 
{ 

    $actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 

    if (preg_match('/sites/',$actual_link)) 
    { 

     $user_id = get_current_user_id(); 
     if ($user_id > 0) 
     { 

      echo do_shortcode('[tablemaster buttons="true" datatables="true" class="black-header-gray-alternate-rows" sql="some select where user_id = '.user_id.'"]', true); 
     } 
    } 
} 


add_shortcode('get_blogs_sc', 'GetActiveBlogs'); 

Aber wenn ich den Shortcode direkt von Wordpress:

[tablemaster buttons="true" datatables="true" class="black-header-gray-alternate-rows" sql="some select where user_id = 14] 

die Anzeige auf meiner Seite sieht gut aus (wie auf Bild 1 zu sehen)

Mein Ziel, den Shortcode in PHP-Layer zu setzen, ist für mich in der Lage zu captur e den eingeloggten Benutzer von WordPress.

Danke.

Antwort

0

es ist schwer zu diagnostizieren, was das Problem nur von Bildern ist! ohne was der Code wirklich sagt. aber wir wissen, ist, was Unterschied zwischen do_shortcode und add_shortcode

do_shortcode(string $content, bool $ignore_html = false) 

Suche Inhalt für Kurzwahlnummern und Filter durch ihre Haken Kurzwahlnummern. it return (string) Inhalt mit shortcodes herausgefiltert.

// Use shortcode in a PHP file (outside the post editor). 
echo do_shortcode(''); 

für weitere Informationen link

überprüfen, während add_shortcode einen Haken für einen Shortcode-Tag hinzu.

<?php add_shortcode($tag , $func); ?> 

$ tag (string) (erforderlich) Shortcode-Tag in der Post Inhalt durchsucht werden Vorgabe: Keine $ func (aufrufbar) (erforderlich) Haken laufen, wenn Short Standard gefunden wird: Keine

es nichts zurück, aber wenn Sie Short Tag in der Postbereich schreiben sie die Funktion von Short gelten für weitere Informationen überprüfen Link

+0

ich weitere Informationen über die Frage hinzugefügt haben. Entschuldigung für die fehlenden Details. – Ged

+0

können Sie verwenden div mit class = "wrap" und wickeln Sie Ihre gedruckten Code innerhalb, können Sie erkennen, was der Unterschied zwischen 2 Fällen durch inspizieren [F12] –

Verwandte Themen