不确定发布此处或网站管理员,如果我出错,我道歉。
有没有人知道在图片点击上执行短代码的方法?
我找不到任何关于如何做到的事情
编辑:我道歉
是短代码意味着wordpress短代码
答案 0 :(得分:1)
====模板页面====
<script>
function executeShortCode() {
var url="<?php echo get_template_directory_uri(); ?>/yourAjaxPage.php";
jQuery.post(url,function(data){
console.log(data);
});
}
</script>
==== Ajax页面====
//yourAjaxPage.php
<?php echo do_shortcode('[yourshortcode]'); ?>
答案 1 :(得分:1)
因为我无法在网上找到我自己的问题的答案,所以我想我会发布我的解决方案。使用wp_localize_script加载我的短代码,这是我的例子:
// PHP (in functions.php)
<?php
add_action( 'wp_enqueue_scripts', 'custom_add_scripts' );
function custom_add_scripts() {
wp_register_script( 'my_new_js_callname', plugins_url( '/js/filename.js' , __FILE__ ), array(), '1.0.0', true );
wp_enqueue_script( 'my_new_js_callname' );
}
add_action ('template_hook', 'custom_function_name');
function custom_function_name() {
// Because I used if/else statements in my JS, I loaded individual IDs into the array.
$examplea = do_shortcode('[add_to_cart id="118"]');
$exampleb = do_shortcode('[add_to_cart id="119"]');
$examplec = do_shortcode('[add_to_cart id="120"]');
$array = array(
'examplea' => $examplea,
'exampleb' => $exampleb,
'examplec' => $examplec,
);
wp_localize_script( 'my_new_js_callname', 'callword', $array );
然后,在图像点击或您正在使用的任何其他JS事件上执行:
// JS (in filename.js)
<script>
document.getElementById('myImg').onclick = function (){
$("#show").html( callword.examplea );
}
</script>
然后在我的HTML页面上执行短代码:
<div id="show"></div>
答案 2 :(得分:0)
通过它的id获取图片元素并在onclick
事件附加处理程序
<强> HTML 强>
<img id="myImg" src="" />
<强> JS 强>
<script>
document.getElementById('myImg').onclick = function (){
//execute your short code here.
}
</script>