如何隐藏或禁用指定页面中某些部分

时间:2015-05-21 作者:pagol001

我想从我的页脚。php文件某些部分如下<div class="form">----------</div> 此部分将在所有页面中可见,但不会显示在主页和其他少数页面中。我认为通过使用php条件是可能的。

我读过is_home, and is_front_page conditional problem 但这种方式不起作用

<?php if ( !is_home() && !is_front_page() ) {
echo "Hello World";
} else {

echo "Else World";
}
?>
对于所有的网页,甚至主页,我都得到了Hello World。我试过了<?php if ( ( is_page(\'home\')) ) { 而且<?php if ( ( is_home() || is_front_page() ) ) { 而且<?php if(is_page(248)){

不工作。

4 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

在某种意义上,你想“颠倒”你的逻辑。你需要“不在家或在前面”,而不是“不在家也不在前面”。例如:

// var_dump(is_home(),is_front_page(),(is_home() || is_front_page()),!(is_home() || is_front_page())); // debug
if ( !(is_home() || is_front_page()) ) {
  echo "Hello World";
} else {
  echo "Else World";
}
编写相同内容的更简单、更可读的方法是:

if ( is_home() || is_front_page() ) {
  echo "Else World";
} else {
  echo "Hello World";
}
请注意is_home()is_front_page() 功能can be confusing.

SO网友:Nick Berardi

您可以使用page id 如@vee的回答所述。例如:如果你想回应Hello world 在首页、id为1和2的页面上显示echoElse world 对于所有其他页面,请使用:

<?php 
if ( ( is_front_page() ) && ( is_page(1) || is_page(2) ) ) {
    echo "Hello World";
} else {
    echo "Else world";
?>
有关详细信息:https://codex.wordpress.org/Function_Reference/is_page

SO网友:Vee

Use this.

<?php 
if ( (!is_front_page() ) && (is_page (14) || is_page(25) || .... ) ) 
{
    echo "Hello World";
} 
?>
SO网友:Sabita Sahoo

将所有页面ID放在一个不想显示div的数组中。请尝试以下代码。

global $post;
$posts_array = array(1);
$current_page_id = $post->ID;

if ( (! is_front_page() ) && (  ! in_array( $current_page_id, $posts_array ) ) ) {
    echo "Hello World";
} 

结束