2017-09-06 97 views
0

這是我的「代碼」:簡單的簡碼(WordPress的)不工作

function whoop_function(){ 

     return "whoop whoop!"; 
    } 

add_shortcode('whoop', 'whoop_function'); 

現在,當我想在一個帖子中使用它,我得到的是:

[吶喊]

正如你所看到的,我是一個非常新的,並沒有使用它,所以也許答案很簡單,也許我只是提前錯過了一件事。 我都檢查了在functions.php和content.php中定義函數

+0

你在哪裏添加了這段代碼。在function.php或插件? –

+0

我測試你的短代碼將爲我工作。你如何稱呼你的簡碼?內頁或模板使用do_shortcode? –

+0

它也適用於我,他會把它放在錯誤的地方 –

回答

0

對於shortcode函數echo是必需的。

請與下面的代碼

function whoop_function(){ 

$responseData = "whoop whoop!"; 
echo $responseData; 
return true; 
} 
add_shortcode('whoop', 'whoop_function'); 
+0

謝謝。不幸的是,它只是與do_shortcode('[whoop]')一起工作,而不是在後端文章或頁面部分。 –

+0

如果您正在查找小工具部分,請使用此代碼。 add_filter('widget_text','do_shortcode'); –

0

代碼放在themes/function.php文件檢查和功能被複制,從而發生已定義的函數PHP錯誤從content.php刪除。

function whoop_function(){ 

     return "whoop whoop!"; 
    } 

add_shortcode('whoop', 'whoop_function'); 

並在任何頁面內容部分添加您的短代碼[whoop]

如果你使用do_shortcode('[whoop]');然後如下回顯它。

<?php echo do_shortcode('[whoop]'); ?> 
+0

感謝您的回答。我在其中一個文件中使用了代碼。 do_shortcode適用於我,但如果我想在頁面中使用[whoop]或發佈它仍然不起作用。 –

+0

您的代碼適用於我在頁面內容和使用do_shortcode –

+0

這兩種情況下,如果用戶在頁面中進行簡碼,當您運行頁面時,頁面中將顯示什麼內容。分享產出。 –

0

您的方法是正確的。我認爲你正在模板中使用它。只需要使用它提到如下:

在文件:

<?php echo do_shortcode('[whoop]'); ?> 

在管理頁面或帖子:

[whoop] 

取像這樣的內容:

 $post_content = get_post(get_id_by_slug('short')); // assuming that you have already defined get_id_by_slug function as you are using it in your code and "short" is a slug for post you are fetching content 
     $content = $post_content->post_content; 
     echo do_shortcode($content); 

你在不考慮短代碼的情況下提取內容。如上更新您的代碼。 希望它能爲你工作。

+0

在文件工作正常,但不幸的是不在管理頁面或帖子。 –

+0

檢查你的content.php文件,我認爲你已經做了一些與內容相關的操作。括號裏的東西,因爲它對我來說工作得很好。 – WpTricks24

+0

我不是100%確定你的意思。 你可以請更具體一點嗎? 我得到我的帖子,我嘗試了這樣的簡碼: <?php echo get_post_field('post_content',get_id_by_slug('short')); ?> get_id_ny_slug是一個爲自己說話並且正常工作的函數。 –