2017-09-06 146 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是一个为自己说话并且正常工作的函数。 –