![](/img/trans.png)
[英]Wordpress Shortcode through Plugin does not function as intended (Elementor Pro)
[英]Display a wordpress shortcode in elementor widget?
我还不熟悉 WordPress,我想在小部件本身中显示一个短代码,但它显示为#text
<li><span>[My-shortcode]..
据我了解,我必须编辑自定义主题的代码,但我从哪里开始呢? 也许有一些黑客绕过来使它工作? 将文本自动检测为短代码的插件? 如果我可以在 Wp 编辑器中输入 PHP,我可以让它工作,有什么想法吗?
首先:不,您不能在 WP 编辑器中键入 PHP 代码。 在 WordPress 中编写自定义代码的最常见方法是:
对于第二个选项,请遵循https://developer.wordpress.org/themes/advanced-topics/child-themes/ 上的官方指南。
设置、激活并在子主题目录中创建自定义的空 functions.php 文件后,您可以打开 functions.php 文件并添加以下代码:
function mytextdomain_myshortcode($attrs = array(), $content = null)
{
$attrs = shortcode_atts( array(
'value' => 'content'
), $attrs );
ob_start();
?>
Write your own HTML code outputting <strong>some <?= $attrs['value'] ?></strong> here!
<?php
return ob_get_clean();
}
// add the custom shortcode:
add_shortcode('myshortcode', 'mytextdomain_myshortcode');
每次呈现简码时都会评估mytextdomain_myshortcode
回调函数。 您可以将该函数重命名为您想要的任何名称 - 文本域应该是使名称唯一的内容。 你想要输出什么样的 HTML 取决于你想要它做什么。
在此之后,您可以在评估短代码的任何地方使用[myshortcode]
或[myshortcode value="custom text"]
。 您可以根据要实现的功能添加参数。 不要在短代码名称中使用连字符。 您也可以通过输出$content
将其简单地转换为封闭的短代码。 如果是[myshortcode]This will end up in content![/myshortcode]
, $content
将包含短代码标签之间的所有$content
。 或者您可以决定一直忽略内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.