我的WordPress PHP页面没有加载到我的PHP模板中有什么原因吗

时间:2017-06-18 作者:Mariton

请容忍我,因为我对这种方式使用Wordpress PHP还不熟悉。我有以下脚本:

<div id="content">
<?php
    // check if the repeater field has rows of data
    if( have_rows(\'repeat_field\') ):
        $i = 0;

        // loop through the rows of data
        while ( have_rows(\'repeat_field\') ) : the_row();
            $i++;

            // display a sub field value
            if (!empty(get_sub_field(\'feature_image_post\'))) {

                echo \'<a href="\';
                the_sub_field(\'restaurant_article_link\'); 
                echo \'">\';
            } 
            if( $i >= 78 ) {
                break;
            }            
        endwhile;
    else :
        // no rows found
    endif;
    ?>
    </div>
    <div id="loading-image" style="display: none;"></div>
    <div id="part2"></div>
    <script>

        var w = $(window);
        window.onscroll = function(ev) {
            if ($(document).height() - w.height() == w.scrollTop()) {

                $(\'#loading-image\').show();
                $.ajax({
                    url: "<?php echo get_stylesheet_directory_uri();?>/post-2.php",
                    cache: false,
                    success: function(result){
                      $("#part2").html(result);
                    },
                    complete: function(){
                      $(\'#loading-image\').hide();
                    }
                });
            }
        };
    </script>
我正在尝试加载的Php页面几乎包含相同的代码。加载200个字段后,它就会停止。

<?php
    // check if the repeater field has rows of data
    if( have_rows(\'repeat_field\') ):
        $i = 0;
        // loop through the rows of data
        while ( have_rows(\'repeat_field\') ) : the_row();
            $i++;
            // display a sub field value
            if (!empty(get_sub_field(\'feature_image_post\'))) {
                echo \'<a href="\';
                the_sub_field(\'restaurant_article_link\'); 
                echo \'">\';
            } 
            if( $i >= 200 ){
              break;
            }            

        endwhile;
    else :
        // no rows found
    endif;
?>
我不知道为什么php页面(post-2.php)没有加载。奇怪的是当我<?php echo get_stylesheet_directory_uri();?>/post-2.php 使用测试html页面<?php echo get_stylesheet_directory_uri();?>/test.html 加载测试页面(test.html)。我不得不说,我在我的控制台中查看了添加的浏览器的控制台选项卡console.log(); 查看任何错误,我不会收到任何错误。我还查看了我的网络标签,以确保post-2。php加载正确,我没有收到错误。我的目标是找出我的PHP页面没有加载的原因

*****更新****我被告知要使用$post\\u id,但我从未使用过它。有人有这样的工作实例吗?是否类似于if( have_rows(\'repeat_field\', $post_id) ):if( have_rows(\'repeat_field\', 55612) ): ?

1 个回复
SO网友:Bikash Waiba

我以前没有使用过ACF,但我怀疑您post-2.php 缺乏$post_id 如中所示have_rows($field_name, $post_id)(see). 如果您使用的是ajax,那么您的ajax功能就无法知道您所在的页面以及您要查找的帖子,从而更好地使用$post_id 告诉ajax函数您需要哪个post数据。

在中使用ajax的正确方法wordpress 正在将ajax请求定向到ajaxurl = admin_url().\'admin-ajax.php\'. 最好是wp_localize_script 但我可以这样做<div id="part2" data-url="<?php echo admin_url().\'admin-ajax.php\'; ?>"></div> 以及ajaxurl = $(\'#part2\').data(\'url);

你可以用这样的东西

 $.ajax({
                url: ajaxurl,
                cache: false,

                type : \'post\',
                data : {
                   action: \'load_post_acf\' // This will be used in hook
                 },

                success: function(result){
                   $("#part2").html(result);
                   $(\'#loading-image\').hide();
                },

           });
的Ajax函数post-2.php 你可以做一些像。。

add_action(\'wp_ajax_nopriv_load_post_acf\',\'your_ajax_function\');
add_action(\'wp_ajax_load_post_acf\',\'your_ajax_function\');

function your_ajax_function(){
  global $post;
  if( have_rows(\'repeat_field\',$post->ID) ):
    // do something
  else:
   echo \'<h4>No rows found.</h4>\'; //do something else
  endif;


}

结束

相关推荐

分页在类别.php中不起作用

类别页面上的分页不起作用。我使用一个名为“Bridge”的主题,永久链接设置为“/blog/%category%/%postname%/”。我的分类页面位于以下url中:http://ikontrol.dk/da/blog/nyheder/如果我使用底部的分页,我会得到以下url:da/blog/nyheder/page/2/I give-self和404-page-not-found。如果我手动将url更改为:da/blog/nyheder/?page=2已选择第2页,但内容仍为第1页。正如我在小说中看

我的WordPress PHP页面没有加载到我的PHP模板中有什么原因吗 - 小码农CODE - 行之有效找到问题解决它

我的WordPress PHP页面没有加载到我的PHP模板中有什么原因吗

时间:2017-06-18 作者:Mariton

请容忍我,因为我对这种方式使用Wordpress PHP还不熟悉。我有以下脚本:

<div id="content">
<?php
    // check if the repeater field has rows of data
    if( have_rows(\'repeat_field\') ):
        $i = 0;

        // loop through the rows of data
        while ( have_rows(\'repeat_field\') ) : the_row();
            $i++;

            // display a sub field value
            if (!empty(get_sub_field(\'feature_image_post\'))) {

                echo \'<a href="\';
                the_sub_field(\'restaurant_article_link\'); 
                echo \'">\';
            } 
            if( $i >= 78 ) {
                break;
            }            
        endwhile;
    else :
        // no rows found
    endif;
    ?>
    </div>
    <div id="loading-image" style="display: none;"></div>
    <div id="part2"></div>
    <script>

        var w = $(window);
        window.onscroll = function(ev) {
            if ($(document).height() - w.height() == w.scrollTop()) {

                $(\'#loading-image\').show();
                $.ajax({
                    url: "<?php echo get_stylesheet_directory_uri();?>/post-2.php",
                    cache: false,
                    success: function(result){
                      $("#part2").html(result);
                    },
                    complete: function(){
                      $(\'#loading-image\').hide();
                    }
                });
            }
        };
    </script>
我正在尝试加载的Php页面几乎包含相同的代码。加载200个字段后,它就会停止。

<?php
    // check if the repeater field has rows of data
    if( have_rows(\'repeat_field\') ):
        $i = 0;
        // loop through the rows of data
        while ( have_rows(\'repeat_field\') ) : the_row();
            $i++;
            // display a sub field value
            if (!empty(get_sub_field(\'feature_image_post\'))) {
                echo \'<a href="\';
                the_sub_field(\'restaurant_article_link\'); 
                echo \'">\';
            } 
            if( $i >= 200 ){
              break;
            }            

        endwhile;
    else :
        // no rows found
    endif;
?>
我不知道为什么php页面(post-2.php)没有加载。奇怪的是当我<?php echo get_stylesheet_directory_uri();?>/post-2.php 使用测试html页面<?php echo get_stylesheet_directory_uri();?>/test.html 加载测试页面(test.html)。我不得不说,我在我的控制台中查看了添加的浏览器的控制台选项卡console.log(); 查看任何错误,我不会收到任何错误。我还查看了我的网络标签,以确保post-2。php加载正确,我没有收到错误。我的目标是找出我的PHP页面没有加载的原因

*****更新****我被告知要使用$post\\u id,但我从未使用过它。有人有这样的工作实例吗?是否类似于if( have_rows(\'repeat_field\', $post_id) ):if( have_rows(\'repeat_field\', 55612) ): ?

1 个回复
SO网友:Bikash Waiba

我以前没有使用过ACF,但我怀疑您post-2.php 缺乏$post_id 如中所示have_rows($field_name, $post_id)(see). 如果您使用的是ajax,那么您的ajax功能就无法知道您所在的页面以及您要查找的帖子,从而更好地使用$post_id 告诉ajax函数您需要哪个post数据。

在中使用ajax的正确方法wordpress 正在将ajax请求定向到ajaxurl = admin_url().\'admin-ajax.php\'. 最好是wp_localize_script 但我可以这样做<div id="part2" data-url="<?php echo admin_url().\'admin-ajax.php\'; ?>"></div> 以及ajaxurl = $(\'#part2\').data(\'url);

你可以用这样的东西

 $.ajax({
                url: ajaxurl,
                cache: false,

                type : \'post\',
                data : {
                   action: \'load_post_acf\' // This will be used in hook
                 },

                success: function(result){
                   $("#part2").html(result);
                   $(\'#loading-image\').hide();
                },

           });
的Ajax函数post-2.php 你可以做一些像。。

add_action(\'wp_ajax_nopriv_load_post_acf\',\'your_ajax_function\');
add_action(\'wp_ajax_load_post_acf\',\'your_ajax_function\');

function your_ajax_function(){
  global $post;
  if( have_rows(\'repeat_field\',$post->ID) ):
    // do something
  else:
   echo \'<h4>No rows found.</h4>\'; //do something else
  endif;


}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请