do_shortcode没有运行ajaxlaodmore简码

时间:2019-07-11 09:17:39

标签: ajax wordpress plugins

我正在使用ajaxloadmore插件。从模板内的以下代码可以完美地工作。

但是当我从ajax调用中调用以上代码时,它返回没有记录的空div。 有人可以让我知道为什么从ajax调用中不起作用。

1 个答案:

答案 0 :(得分:1)

Ajax加载更多插件使用ajax加载帖子。为什么不使用其内置功能?您不能在PHP代码内将ajax用于另一个ajax。

如果您在ajax操作中使用此短代码,我认为它不会加载它的JS文件。如果您可以在此处分享有关您要实现的目标的更多详细信息,我可能会提供帮助。

此外,如果它确实可以工作,则还需要管理offset参数,否则最终将一次又一次地加载相同的帖子。

编辑1-

您可以在用户选择类别时重新加载页面,默认情况下,您可以使用所有类别。

尝试以下代码:-

if ( isset( $_GET[ 'category' ] ) && $_GET[ 'category' ] !== '' ) {

    $cat = esc_html( $_GET[ 'category' ] );

 } else {
    $cat = "in-the-news,leadership,tips-tricks,trends";
 }

 echo do_shortcode( '[ajax_load_more post_type="post" posts_per_page="6" category="' . $cat . '" ]' );