返回

WordPress:如何将简码插入现有 HTML 元素?解决常见的插入问题

php

如何将简码插入现有 HTML 元素(WordPress)

在 WordPress 中,简码是一种创建自定义功能并轻松插入到页面或文章中的强大工具。然而,有时我们需要将简码插入到现有的 HTML 元素中,这可能会带来一些挑战。

寻找目标元素

第一步是找到你要插入简码的 HTML 元素。它可以是 <div><p><span> 等等。例如,我们想将简码 [ajaxdomainchecker] 插入到 class="description"<p> 元素中。

获取简码值

要获取简码的值,我们需要使用 do_shortcode() 函数。这个函数将返回简码的输出。对于我们的例子,代码如下:

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

插入简码值

获得简码的值后,我们使用 html() 方法将它插入到目标元素中。在我们的情况下,代码如下:

jQuery(" .acf-field-60po7a8eu9444 p.description").html('<?php echo do_shortcode('[ajaxdomainchecker]'); ?>');

确保代码在页面加载后执行

为了防止出现任何 JavaScript 错误,我们使用 jQuery(document).ready() 函数确保代码在页面加载后执行。最终代码如下:

<script>
jQuery(document).ready(function(){
    jQuery(" .acf-field-60po7a8eu9444 p.description").html('<?php echo do_shortcode('[ajaxdomainchecker]'); ?>');
});
</script>

常见问题解答

  1. 为什么在元素中直接插入简码不行?
    将简码直接插入元素中会产生语法错误,因为 PHP 代码将直接输出到 HTML 中。

  2. 是否可以使用其他函数来获取简码值?
    除了 do_shortcode() 函数,还可以使用 shortcode_unserialize()do_shortcode_tag() 函数来获取简码值。

  3. 如何插入带有参数的简码?
    要在简码中包含参数,请在简码名称后面添加参数,例如 [ajaxdomainchecker domain="example.com"]

  4. 如何防止代码被转义?
    为了防止代码被转义,可以在简码值前面添加一个反斜杠,例如 <?php echo do_shortcode('\\[ajaxdomainchecker]'); ?>

  5. 如何调试插入简码的问题?
    为了调试问题,可以在 JavaScript 代码中添加 console.log() 语句,以检查简码值是否正确获取并插入到元素中。