通过Ajax用PHP加载Essential Grid简码

时间:2019-01-31 19:21:15

标签: javascript php html ajax wordpress

最终,我的目标是根据Modernizr确定的值加载特定的Essential Grid(ESG)短代码,然后将其通过Ajax传递给PHP,PHP将确定并返回必要的短代码。我使用的是X主题,简码位于Content Area元素内。我的理解是,这是解决此类问题的正确方法,但是,总体而言,我还是所有Web设计的新手,所以也许我只是以错误的方式来做。

为简化起见,我仅关注通过Ajax加载ESG短代码([ess_grid alias =“ photo-gallery”])。我也注释掉了该页面上的所有其他CSS。

这就是问题所在,首先我有一个ID为“ gallery-test-area”的Content Area元素。

接下来,我在该页面上有此JS:

jQuery.ajax({
   url: "/wp-admin/admin-ajax.php",
   data: {
      action:'select_gallery_test_ajax',
   },
   success: function(results) {
      jQuery('#gallery-test-area').html(results);
   },
   error: function(errorThrown) {
      console.log(errorThrown);
   }
});

以下是我的子主题的“ functions.php”文件中的相关PHP:

function select_gallery_test_ajax() {
   echo do_shortcode('[ess_grid alias="photo-gallery"]');

   die();
}

add_action('wp_ajax_nopriv_select_gallery_test_ajax', 'select_gallery_test_ajax');
add_action('wp_ajax_select_gallery_test_ajax', 'select_gallery_test_ajax');

当您深入研究“内容区域”元素时,您可以看到结果,而大多数代码都在其中,就好像它没有完全加载或什么。

注意:我也尝试过使用Slider Revolution简码代替ESG,并且也不会加载。

这是一个错误还是我做错了什么?我几天来一直在尝试解决此问题,并且尝试了许多不同的解决方案,如果它们不涉及在页面加载时立即加载ESG短代码,则所有解决方案都会失败。任何想法表示赞赏。谢谢!

0 个答案:

没有答案