如果is_page函数不适用于我的PHP网站

时间:2014-12-01 01:16:50

标签: php

我在PHP网站上使用if else条件标记。我的代码是:

<?php if(is_page('print-systems-overview.php')) { ?>
<style type="text/css">
.activeNew{background:#4E4E4E;}
</style>
<?php } elseif (is_page('software.php')) { ?>
<style type="text/css">
.activeNew{background:grey;}
</style>
<?php } ?>

但是我得到了致命的错误: 致命错误:在第36行的D:\ xampp \ htdocs \ project1234 \ header.php中调用未定义的函数is_page()

经过研究后我才知道is_page正在使用wordpress,它只是wordpress功能而不是在核心PHP上工作。有没有办法在核心PHP中做这种类型的功能。

请帮我解决这个问题。我是PHP的新手,所以对它的了解不多。感谢

Rickky

2 个答案:

答案 0 :(得分:1)

页面是wordpress函数,如果你想在核心php中创建这样的东西,这是一种方法

创建一个文件来保存此功能,例如functions.php,以便您可以重复使用它并将其包含在页面中

<强>的functions.php

<?php

function is_page($page_name) {
   $url = $_SERVER['SCRIPT_NAME'];
   //Check for current page equal to $page_name
   return basename($url) == $page_name;
}

然后检查页面调用

<?php include('functions.php') ?>

<?php if(is_page('print-systems-overview.php')) { ?>
<style type="text/css">
.activeNew{background:#4E4E4E;}
</style>
<?php } elseif (is_page('software.php')) { ?>
<style type="text/css">
.activeNew{background:grey;}
</style>
<?php } ?>

答案 1 :(得分:1)

您可以使用basename($_SERVER['PHP_SELF']);返回当前文件名

function is_page(){
   $file_name = basename($_SERVER['PHP_SELF']);
   if($file_name == 'print-systems-overview.php') { ?>
     <style type="text/css">
    .activeNew{background:#4E4E4E;}
     </style>                
   <?php } elseif ($file_name == 'software.php') { ?>
     <style type="text/css">
     .activeNew{background:grey;}
     </style>
   <?php }
 } ?>

只需调用is_page()函数