如何在PHP中为WP组合两个if语句

时间:2016-09-28 20:44:44

标签: php wordpress conditional

我需要运行一个函数(显示模态)如果页面 DOES 具有特定字段值并且某个页面 。如果页面没有字段值并且它不是特定页面,它也需要工作。他们像这样单独工作:

//如果页面有字段值:

<?php
    $values = get_field( 'recast_video' );
    if ( ($values) ) {
        get_template_part('template-parts/popIn', 'none');
    } 
?>

//if it is this page, do not show:

<?php
if ( (!is_page('trading-education-webinars') ) ){
    get_template_part('template-parts/popIn', 'none');
} 
?>

如果字段具有值不是指定页面

,如何合并两者以显示(get_template_part)
//this fails

<?php
    $values = get_field( 'recast_video' );
    if ( ($values) || (!is_page('trading-education-webinars') ) ){
        get_template_part('template-parts/popIn', 'none');
    } 
?>  

2 个答案:

答案 0 :(得分:1)

使用&amp;&amp; (AND)运营商:

<?php
    $values = get_field( 'recast_video' );
    if ( ($values && !is_page('trading-education-webinars')) || (!$values && is_page('trading-education-webinars')) ){
        get_template_part('template-parts/popIn', 'none');
    } 
?>  

||当至少一个或两个陈述为真时,运算符为真

答案 1 :(得分:1)

首先要做的是寻找共同的条件。无论如何,你不希望它成为某个页面,对吧?所以首先检查它不是那个页面:

$result = (!is_page('trading-education-webinars')) ? : ;
  

如果页面没有字段值,它也需要工作   不是特定页面。

那为什么要检查字段值呢?没有必要,只要它不是我们检查的页面。

$result = (!is_page('trading-education-webinars')) ? get_template_part('template-parts/popIn', 'none') : return false;

如果页面为'trading-education-webinars',您可以将return false;更改为您想要发生的任何内容

编辑:澄清条件:

  • 页面X永远不会被提供“内容”(模态)
  • 如果不是第X页并且有$ value,则显示内容
  • 如果不是页面X而NOT没有$值,则显示其他内容

$ values = get_field('recast_video');

$x = get_template_part('template-parts/popIn', 'none');

$y = 'some other content';

$return = (!is_page('trading-education-webinars')) ? (($values) ? $x; : $y ) : return false );