【发布时间】:2016-06-24 22:05:07
【问题描述】:
我是 wordpress 新手,在使用短代码时遇到了一些问题: 我试图在加载内容时执行短代码(gridfx),实际上是在单击选项卡并且选项卡区域可见(短代码内容应该去的地方)时。我是这样实现的:
jQuery(document).ready(function() {
jQuery('#docu').click(function() {
<?php
$short = '[gridfx theme="light" posttypes="product" postids="'.$postids .'" include_terms=75,70,72,76,84,223,225,221,219,194,192,193,191 single_show_content=9 show_overlay_title_v2=0 show_overlay_title=0 sortmenu=0 instantsearch=0 columns=3 items_container_width=100 excerpt_below_title=15]';
$sh = do_shortcode($short); ?>
jQuery('.short').text('<?php echo $sh ?>');
});
});
但是 Firefox 现场刷新的结果是这样的: jQuery('.short').text('
')}
结果以错误的方式显示(html已损坏)。
所以短代码是在侧载上执行的,而不是在点击事件上。有没有办法做到这一点?
我要问的原因是从不可见区域中的简码加载内容会导致简码的结果不显示或仅以 1px 高度显示。 (在我的情况下)。所以实际上我是在选项卡窗格中执行短代码,基本上当点击 tabnav 时,似乎短代码是在侧面加载而不是在 tabpane 显示时执行的。
我需要一些建议,请!
非常感谢!
jimmi4u
【问题讨论】:
-
我认为这样行不通……为什么?因为短代码是一个类似 php 的函数,并且在页面加载到“点击”事件后,您无法在不重新加载的情况下执行某些 php 函数。您需要使用 wordpress Ajax 来执行此操作。这就是我的想法……也许我错了。
-
感谢您的评论!是的,我听说过;)但是我不能定义短代码的执行时间吗?我想可能是从javascript调用执行短代码的php函数。你怎么看?
-
当然你可以通过jQuery/ajax触发一个
do_shordcode('[my_shortcode]')嵌入在一个PHP Ajax wordpress函数调用的函数中。一切皆有可能或几乎:)
标签: jquery wordpress shortcode