如果(IS_PAGE(**PAGE ID**))不工作

时间:2014-03-19 作者:Steve

我在跟踪this tutorial 在代码中添加谷歌内容实验header.php.

我将以下代码添加到header.php:

<?php if (is_page(\'346\') ):?>
    <!-- Google Analytics Content Experiment code -->
        ...
    <!-- End of Google Analytics Content Experiment code -->
<?php endif; ?>
这并没有在前端生成内容实验代码。我试过:

<?php if (is_page(346) ):?>
    <!-- Google Analytics Content Experiment code -->
        ...
    <!-- End of Google Analytics Content Experiment code -->
<?php endif; ?>
这也没用。

你能明白为什么这个代码不起作用吗?谢谢

8 个回复
最合适的回答,由SO网友:Waqas Shakeel 整理而成

您可以将此用于

<?php 
global $post;

if( $post->ID == 346) { ?>

      <!-- do your stuff here -->

<?php } ?>
您可以在标题中的任何位置或其他任何位置使用此选项。

SO网友:RRikesh

更简单的解决方案是通过title 或者slug 作为中的参数is_page(). 如果在另一台服务器上复制该页面,则不会出现问题。

<?php
if (is_page( \'Page Title\' ) ):
  # Do your stuff
endif;
?>

SO网友:Lucas Bustamante

挂钩,如init will not work 根本没有

你必须至少在parse_query.

下面的一切都会起作用:

is_page(198); # ID (int)
is_page(\'198\'); # ID (string)
is_page(\'Some Title\'); # Title, case-sensitive
is_page(\'some-title\'); # Slug
但它必须被钩住至少在parse_query 或者后面的其他钩子。您可以在此处看到WordPress挂钩顺序:https://codex.wordpress.org/Plugin_API/Action_Reference

SO网友:Huseyn

尝试使用is\\u single($post)

在您的情况下,is\\u single(346)或is\\u single(\'346\')都应该工作

more here

SO网友:Arsie Organo Jr

首先,你必须知道pagepost. 完成后,您可以选择是否使用is_pageis_single.

如果您正在处理WordPress页面,请按以下方式书写。注意,此示例使用array只是为了在多个页面中实现它:

<?php if (is_page( array( 1, 529, \'or post title\'  ) ) ) : ?>
    <!-- Do nothing -->
<?php else : ?>
    <!-- Insert your code here -->
<?php endif; ?>
但如果您需要它在您的帖子上也生效,那么也可以添加以下行:

<?php if (is_single( array( 1, 529, \'or post title\'  ) ) ) : ?>
    <!-- Do nothing -->
<?php else : ?>
    <!-- Insert your code here -->
<?php endif; ?>

SO网友:Dev

对于单桩使用

if ( is_single( \'1346\' ) )
对于单页使用

if ( is_page( \'1346\' ) )
在哪里\'1346\' 是您的帖子或页面ID。

is_page 不适用于单发邮件和is_single 无法处理单页。

SO网友:Md. Jahidul Islam

请尝试删除\'\' (单引号)来自ID号(&S);它将在以下方面发挥作用:

is_page(34)

SO网友:RAJ NARWADE

function test_run(){

   if (is_page( \'Page Title\' ) ): //you can use is_page(int post id/slug/title)
      # Do your stuff
   endif;

}

add_action(\'parse_query\', \'test_run\');
完成卢卡斯·布斯塔曼特的回答

结束

相关推荐