我还不熟悉WordPress, 我想在小部件本身中显示一个短代码shortcode, 但它显示为#text
<li><span>[My-shortcode]..
据我了解, 我必须编辑自定义主题的代码, 但是从哪里开始呢?也许有一些技巧可以绕开它?可以将文本自动检测为短代码shortcode的插件?如果我可以在Wp Editor中输入PHP, 就可以使它起作用, 有什么想法吗?
#1
首先:不, 你不能在WP编辑器中键入PHP代码。在WordPress中编写自定义代码的最常见方式是:
- 创建自己的插件
- 创建子主题, 修改子主题的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');
每次呈现短代码shortcode时, 都会评估mytextdomain_myshortcode回调函数。你可以将该函数重命名为所需的名称-文本域应该是使名称唯一的名称。你要输出哪种HTML取决于你要执行的操作。
此后, 你可以在评估短代码shortcode的任何地方使用[myshortcode]或[myshortcode value =” custom text”]。你可以根据要实现的功能添加参数。不要在短代码名称中使用连字符。你也可以通过输出$ content轻松地将其转换为封闭的短代码。如果是[myshortcode], 则将以内容结尾![/ myshortcode], $ content将包含shortcode标记之间的所有内容。或者, 你可以决定始终忽略内容。
评论前必须登录!
注册