簡體   English   中英

HTML輸出中的WordPress簡碼

[英]WordPress shortcode in HTML output

我只是想知道是否可以在我的JavaScript頁面的html輸出中輸出wordpress簡碼?

您會看到我有一個javascript文件,其內容如下:

$(document).ready(function () {
    $("#bannav li a").on("click", function (e) {
        e.preventDefault();
        var hrefval = $(this).attr("href");
        if (hrefval == "#enquire") {
          var distance = $('#banner').css('right');
          $('.banner-rt-content1').html('
            <div style="padding:20px;">
            [contact-form-7 id="102" title="Make an Enquiry"]
            </div>
          ');
          if (distance == "auto" || distance == "0px") {
            $(this).addClass("open");
            openSidepage();
          }
        }

問題是我想使用其WordPress短代碼[contact-form-7 id="102" title="Make an Enquiry"]在此JS頁面中輸出我的Contact Form 7表單。 那有可能嗎?

在頁面加載之前,將使用PHP處理Wordpress中的簡碼。 不幸的是,沒有一種簡單的方法可以直接在您的javascript中直接處理它們。 您需要制作一個AJAX處理程序以獲取處理后的短代碼的輸出,或者讓PHP為您編寫JavaScript。 Wordpress中的AJAX比第二個選項稍微困難一點,因此我將解釋一個。

您可以本地化短代碼的輸出,然后在javascript中引用它。 由於大多數wordpress主題都使用jQuery,因此我將腳本本地化為jQuery。 將此添加到您的功能文件:

$translation = do_shortcode('[contact-form-7 id="102" title="Make an Enquiry"]');

wp_localize_script( 'jquery', 'contact_form', array( 'html' => $translation) );

然后在您的JavaScript中執行以下操作:

$('.banner-rt-content1').html('<div style="padding:20px;">'+contact_form.html+'</div>');

那應該把您需要的內容帶入頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM