【问题标题】:Load only page content if url contains php parameter如果 url 包含 php 参数,则仅加载页面内容
【发布时间】:2016-09-14 03:44:51
【问题描述】:

如果网址包含?mode=quick,我正在尝试仅加载页面内容(防止加载页眉菜单或页脚)

我尝试将以下内容添加到 header.php 的顶部以尝试仅加载页面的内容,但它不起作用。

<?php
    if ($_GET['mode'] == 'quick'){
        the_content();
        exit();
    }
?>

我能够通过将以下代码添加到最后一行之前的page.php 来阻止页脚加载。

<?php
    if ($_GET['mode'] == 'quick'){
        exit();
    }
?>

<?php get_footer(); ?> // Last line

有没有办法做类似的事情,但也阻止标题加载?

【问题讨论】:

  • the_content() 是做什么的?
  • if ($_GET['mode'] == 'quick') 应该是 if (!empty($_GET['mode']) &amp;&amp; $_GET['mode'] == 'quick')。
  • @spencerlarry 是的,它会给你同样的结果,但如果没有设置$_GET['mode'] 会防止错误出现。
  • 问题是 get_header() 还加载了很多其他的东西,包括 js 的钩子等。最好修改 header.php 文件来控制条件为真时显示的内容

标签: php wordpress


【解决方案1】:

索引页面

require "pages/".$page.".php";

require_once("layouts/footer.php");
?>

header.php

          $page = "home";
            if(isset($_GET['page'])){
                if($_GET['page']=='quick'){          
                  $page = $_GET['page'];
                }
            }

希望对你有帮助

【讨论】:

    【解决方案2】:

    保持简单! :)

    if(!isset($_GET["quick"])) { loadHeader(); }
    

    【讨论】:

      【解决方案3】:

      您只需颠倒放置逻辑的位置:

      <?php
          // Only show the header if 'mode' is NOT set or set to something not equal to 'quick'
          if (!isset($_GET['mode'] || $_GET['mode'] != 'quick'){
              get_header();
          }
          the_content();  //This is the one part that is ALWAYS shown
          if (!isset($_GET['mode'] || $_GET['mode'] != 'quick'){
              get_footer();
          }
      ?>
      

      【讨论】:

        【解决方案4】:

        我找到的解决方案是创建header.php 的副本并将其重命名为header-empty.php

        我修改了新头文件中的代码以将其删除。然后,如果 url 参数正确,我让它有条件地加载该标头。

        Wordpress 需要 get_header() 函数,所以我无法避免调用它。


        page.php的开头

        <?php 
            if (isset($_GET['mode']) && $_GET['mode'] == 'quick'){
                get_header('empty');
            } else {
                get_header();
            }
        ?>
        

        结束

        <?php
            if (isset($_GET['mode']) && $_GET['mode'] == 'quick'){
                exit();
            }
        ?>
        <?php get_footer(); ?> // Last line
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-08
          • 1970-01-01
          • 2013-01-09
          • 1970-01-01
          • 2013-06-25
          • 1970-01-01
          相关资源
          最近更新 更多