繁体   English   中英

在 elementor 小部件中显示 wordpress 短代码?

[英]Display a wordpress shortcode in elementor widget?

我还不熟悉 WordPress,我想在小部件本身中显示一个短代码,但它显示为#text

<li><span>[My-shortcode].. 

据我了解,我必须编辑自定义主题的代码,但我从哪里开始呢? 也许有一些黑客绕过来使它工作? 将文本自动检测为短代码的插件? 如果我可以在 Wp 编辑器中输入 PHP,我可以让它工作,有什么想法吗?

首先:不,您不能在 WP 编辑器中键入 PHP 代码。 在 WordPress 中编写自定义代码的最常见方法是:

  1. 创建自己的插件
  2. 创建子主题,修改子主题的functions.php

对于第二个选项,请遵循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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM