【发布时间】:2017-05-07 14:41:36
【问题描述】:
我遇到了一个问题,即短代码只回显而不执行,即这是我在网页上实际看到的:
[ajax_filter_posts per_page="10"]
这是我的function.php文件http://termbin.com/v6v5
//enqueue and localizing the Javascript.
function assets() {
wp_enqueue_script('ajax_filter_post_mdu', get_template_directory_uri() . '/js/ajax-filter-posts.js', ['jquery'], null, true);
wp_localize_script( 'ajax_filter_post_mdu', 'bobz', array(
'nonce' => wp_create_nonce( 'bobz' ),
'ajax_url' => admin_url( 'admin-ajax.php' )
));
}
add_action('wp_enqueue_scripts', 'assets', 100);
这是我在个人 category-template.php http://termbin.com/8r3x987654322@ 中调用简码的方式
<?php echo do_shortcode('[ajax_filter_posts per_page="10"]'); ?>
据我了解,我做错了什么,可能是在排队和/或本地化方面,但我不明白哪里出错了。此外,由于浏览器不会抱怨找不到文件,因此 javascript 会正确加载。
同样在我的模板 category.php 文件中,我直接调用函数,例如:
<?php $a = array('post_tag', false, false);
$pub_tag = vb_filter_posts_sc( $a );
echo $pub_tag;
?>
它确实工作正常……
我已经 fork 2016 Wordpress 内置主题并从这里 hack,我在某处有冲突吗?
我已经尽可能多地搜索,但无法整理出来。
【问题讨论】:
-
我可以看到您使用短代码的代码吗,可能在您的模板文件中?
-
您能否在问题中发布代码的基本部分
-
我已经使用类别模板文件的正确链接编辑了我的帖子。
-
@Panda 问题是我不确定是我的代码有问题还是与代码的其他部分存在潜在冲突,这就是我参与发布所有内容的原因。但这是我可以给 Enqueue 和本地化 pastebin.com/xRD0Janv
-
@MatthieuDucorps 是的,最好直接在问题中发布