如果不是某些页面,如何显示代码?

时间:2011-08-21 作者:Brett

如果用户在某个页面上,我试图设置一个if语句来显示某个代码。我有链接和学生作业页面要处理,但当我添加if not链接和not student作业时,我得到了一个意外的T\\u BOOLEAN\\u和错误。如何修复此问题,以便列出不需要自定义代码的页面,并仅使用页面。php

<?php 
            if (!is_page(\'links\')) && (!is_page(\'student-work\'))  {
                include(TEMPLATEPATH . \'/pages/page.php\');
            } elseif (is_page(\'links\')) {
                query_posts(\'cat=2\');
                include(TEMPLATEPATH . \'/pages/links.php\');
            } elseif (is_page(\'student-work\')) {
                query_posts(\'cat=4\');
                include(TEMPLATEPATH . \'/pages/student-work.php\');
            }
?>

2 个回复
SO网友:Mohit Kumar

我刚刚使用了这个代码,它对我很有用。希望它能解决你的问题。

if( ! is_page( array( \'links\', \'student-work\' ) ) ) { /* ... */ }

SO网友:helenhousandi

这实际上只是PHP,而不是WP,但您的初始if语句后面有一个额外的括号!is_page(\'links\'), 所以&& 在外部,PHP不知道如何处理它。无论如何,最好重新组织块,例如。

<?php 
        if (is_page(\'links\')) {
            query_posts(\'cat=2\');
            include(TEMPLATEPATH . \'/pages/links.php\');
        } elseif (is_page(\'student-work\')) {
            query_posts(\'cat=4\');
            include(TEMPLATEPATH . \'/pages/student-work.php\');
        }
        else  {
            include(TEMPLATEPATH . \'/pages/page.php\');
        }
?>
就WordPress而言,您最好使用特定于页面的模板文件,例如page-links.php or page-student-work.php. 您也可以使用get_template_part() 如果出于某种原因需要将所有内容保存在一个文件中,而不是包括在一行中完成if/else块所做的工作。

结束

相关推荐

按菜单顺序而不是顺序对“Get_Pages”进行排序

我正在使用这段代码生成一个充满项目的页面,但它们不会按菜单顺序排序,你知道为什么吗? <?php $pages = get_pages(array(\'child_of\', \'menu_order\')); ?>