我知道如果使用 do_shortcode 包装器,则可以嵌套短代码,但是,codex 指出:
“但是,如果使用短代码宏包含另一个同名宏,解析器将失败:”
有没有解决的办法?
例如,如果我有一个短代码来制作一个 div,例如:
[div]some content in a div[/div]
Run Code Online (Sandbox Code Playgroud)
我希望能够使用:
[div]
[div]a nested div[/div]
[/div]
Run Code Online (Sandbox Code Playgroud)
但这将因标准 do_shortcode 包装器而失败。
我的临时解决方法是复制带有 _parent 附加到名称的短代码,但除非我创建了 div_parent1、div_parent2 等,否则我只能嵌套 1 级深...
我很好奇是否有人有改进他们的 WordPress 网站的经验,以使其尽可能快地加载页面,以及哪种方法比其他方法更有效。
例如,让我们将社交媒体按钮添加到页脚。什么会最快?最大的阻力是什么?
插件- 有一些插件,包括 Genesis,允许用户输入社交媒体 URL,然后在小部件中生成图标和链接。我想知道如果加载了所有图标集的 CSS 和文件而不是仅使用的那些,以及正在运行的任何其他插件代码,这是否会是一个很大的负载。
小部件中的 HTML - 通过这么简单的事情,我认为可以创建代码并将其添加到文本小部件中,并将图像存储在主题文件夹中。这可能有点冒险,因为我已经看到小部件中的 HTML 代码被炸毁,客户可能会不小心编辑错误的部分。
主题中的 HTML - 我尽量避免对客户端可能想要更新的元素进行硬编码,但这似乎非常有效,除非默认情况下它位于小部件区域中,在这种情况下,您会取消小部件吗?
Shortcode - 硬编码元素需要在几个不同的地方使用,我认为创建一个 shotcode 可能是一个不错的选择。但是有人知道短代码是否会拖累网站吗?即使在该页面上未调用该短代码,该短代码文件中的所有元素是否都会被加载?我试图在必要时消除不需要的 CSS 或脚本,但我不知道短代码是否只会调用被调用的部分。有人知道吗?
谢谢,非常感谢任何信息或建议。
每当我尝试在我的Wordpress网站中添加一个简码时,它最终只会显示我添加到实际页面中的代码。我一直将代码粘贴到内容部分的“文本”区域中,但仍然无法正常工作。
即使将其粘贴到header.php文件中,也可以得到相同的结果。例如。
我最近将以下代码复制粘贴到header.php中(按照我下载的插件的说明)
<div class="headerslider"> <?php echo do_shortcode('[sp_responsiveslider limit="-1"]'); ?></div>
保存重新加载后,我只会[sp_responsiveslider limit="-1"]出现在我的网站上。我所做的所有短代码都会发生这种情况。
请帮忙
我想使用开关按钮运行短代码。如果开关为“ON”,我调用一个短代码,如果它是“OFF”,我调用另一个 .
作为测试,我尝试在单击带有 AJAX 的单个链接时调用短代码,它给了我这个:
文件“page-recherche.php”:
<a href="" id="clicklien">CLICK HERE</a>
<script>
$("#clicklien").click(function(e){
e.preventDefault();
$.ajax({
url: 'http://www.capitainebar.com/wp-content/themes/Capitaine-Bar/shortcode-recherche.php',
success: function (data) {
// this is executed when ajax call finished well
console.log('content of the executed page: ' + data);
$('body').append(data);
},
error: function (xhr, status, error) {
// executed if something went wrong during call
if (xhr.status > 0) alert('got error: ' + status); // status 0 - when load is interrupted
}
});
});
</script
Run Code Online (Sandbox Code Playgroud)
调用的文件是“shortcode-recherche.php”:
<?php echo do_shortcode( '[search-form id="1" …Run Code Online (Sandbox Code Playgroud) 我有 2 个由联系表单 7 创建的联系表单。如何列出通过简码创建的所有联系表单?请检查图像,谢谢。


更新: 这是我的代码,可以工作!
$args = array('post_type' => 'wpcf7_contact_form', 'posts_per_page' => -1);
$rs = array();
if( $data = get_posts($args)){
foreach($data as $key){
$rs[$key->ID] = $key->post_title;
}
}else{
$rs['0'] = esc_html__('No Contact Form found', 'text-domanin');
}
Run Code Online (Sandbox Code Playgroud) 使用 Elementor Wordpress 页面生成器时,我遇到了一个奇怪的问题。
创建自定义短代码并将其插入任何页面位置后,它也会显示在页面顶部,但仅限于编辑模式。
页面顶部:
我想插入短代码的地方:
我想在我的 WordPress 短代码属性中添加一个额外的双引号。我的简码是[shortcode icon_title="Delta T" icon_des="Une discussion technique de ce param\xc3\xa8tre important dans le calcul des circonstances de l\'\xc3\xa9clipse."]
(" ")我想在属性中添加双引号,例如icon_des="this is "icon" des"
但这打破了我的shortcode。任何人都可以帮助我\n谢谢
是否有任何短代码来调用产品描述(标题下的文本字段)?
现在,我正在使用另一个自定义字段来完成这项工作,但如果我使用 WooCommerce 字段会更好。
如何将具有更多参数和多行的短代码插入 WordPress 页面?反斜杠曾经用作行分隔符:
[my_shorcode parameter_1=10 \
parameter_2=20 \
parameter_3="test"]
Run Code Online (Sandbox Code Playgroud)
但它在最新的 WordPress 版本中不起作用。我想使用更多行来提高代码的可读性。
使用以下短代码,我尝试获取用户总花费金额,但它减慢了页面加载速度(6 秒)。
是否可以优化此代码以缩短加载时间?
add_shortcode('woo-total-completed', 'get_user_total_completed');
function get_user_total_completed() {
$total_amount = 0; // Init
$total_completed_orders = wc_get_orders( array(
'limit' => -1,
'status' => 'wc-completed',
) );
foreach( $total_completed_orders as $order) {
$total_amount += $order;
}
return $total_amount;
}
Run Code Online (Sandbox Code Playgroud) shortcode ×10
wordpress ×9
php ×5
woocommerce ×2
ajax ×1
elementor ×1
jquery ×1
performance ×1
product ×1
user-data ×1