Wordpress中的简码和Ajax问题

时间:2019-01-08 16:11:34

标签: php html ajax wordpress shortcode

我正在尝试在WordPress中使用短代码,但在ajax调用后它们不起作用(当我单击网站的另一页时,ajax会使用另一个文件,例如file.php并替换了着陆页)。 问题在于,在加载页面时,在将短代码插入代码中时会打印出短代码。例如,我有[instafeed]应该显示我的Instagram提要,但是打印的唯一内容是"[instafeed]"[bloginfo key='template_url']短代码也会发生这种情况(我从css-tricks中获取了代码)。

我已经尝试了此处显示的一些解决方案,但是它们不起作用。例如,我使用了“ bloginfo”的代码,该代码采用了主题文件夹的路径

//StackOverflow solution from https://stackoverflow.com/questions/26069355/call-wordpress-shortcode-with-ajax
add_action( 'init', function() {
  ps_register_shortcode_ajax( 'digwp_bloginfo_shortcode', 
'digwp_bloginfo_shortcode' );
} );

function ps_register_shortcode_ajax( $callable, $action ) {

  if ( empty( $_POST['action'] ) || $_POST['action'] != $action )
    return;

  call_user_func( $callable );
}
//End of StackOverflow solution

//Code from https://css-tricks.com/snippets/wordpress/bloginfo-shortcode/
function digwp_bloginfo_shortcode( $atts ) {
  extract(shortcode_atts(array(
       'key' => '',
   ), $atts));
   return get_bloginfo($key);
}

add_shortcode('bloginfo', 'digwp_bloginfo_shortcode');

我希望输出是path_of_directory_of_theme/,但是输出是 [bloginfo key='template_url']

0 个答案:

没有答案