如果是_PAGE否则如果_PAGE不像我希望的那样工作

时间:2019-01-31 作者:sk03

我的代码如下所示:

if (is_page(\'mounting-guides\')):
  $guides = get_field(\'guide_pdfs\');
elseif (is_page(\'user-manuals\')):
  $guides = get_field(\'user_manual_pdfs\');
elseif (is_page(\'cleaning-guides\')):
  $guides = get_field(\'cleaning_guide_pdfs\');
  if ($guides):
    // Do stuff
  endif;
只有最后一个elseif有效。如果我正在查看安装指南或用户手册页面,则不会显示任何内容。如果我将HTML放在elseif之间,效果会很好:

if (is_page(\'mounting-guides\')):
  $guides = get_field(\'guide_pdfs\');
  if ($guides):
    // Do stuff
  endif;
elseif (is_page(\'user-manuals\')):
  $guides = get_field(\'user_manual_pdfs\');
  if ($guides):
    // Do stuff
  endif;
elseif (is_page(\'cleaning-guides\')):
  $guides = get_field(\'cleaning_guide_pdfs\');
  if ($guides):
    // Do stuff
  endif;

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

好吧,如果你看一下代码的缩进,这是正确的,应该很清楚,为什么会这样。

if (is_page(\'mounting-guides\')):
  $guides = get_field(\'guide_pdfs\');
  // you don\'t do anything in this case
elseif (is_page(\'user-manuals\')):
  $guides = get_field(\'user_manual_pdfs\');
  // you don\'t do anything in this case
elseif (is_page(\'cleaning-guides\')):
  $guides = get_field(\'cleaning_guide_pdfs\');
  // this check is done only if you\'re on page \'cleaning-guides\'
  if ($guides):
    // Do stuff
  endif;
如果您想为所有这些页面“做一些事情”,应该如下所示:

if (is_page(\'mounting-guides\')):
  $guides = get_field(\'guide_pdfs\');
elseif (is_page(\'user-manuals\')):
  $guides = get_field(\'user_manual_pdfs\');
elseif (is_page(\'cleaning-guides\')):
  $guides = get_field(\'cleaning_guide_pdfs\');
endif;

if ($guides):
  // Do stuff
endif;
这样你就可以$guides 如果其中一个条件为true,在所有这些检查之后,您将检查此变量是否已设置并“执行任务”。

相关推荐

Php if/Else语句中的触发器弹出窗口

我试图在函数中触发弹出窗口。php,如果满足某些条件。if-else语句本身工作得很好,但我无法打开弹出窗口。我试着调用一个短代码,但没有返回任何结果。我为弹出窗口本身使用了一个插件(弹出窗口生成器)。因此,我唯一可以访问的是创建的弹出窗口的唯一类和快捷码。该插件允许我通过onclick、CSS、Hover、onload和exit意图触发弹出窗口。但当我试图直接从函数中通过短代码触发它时,这些选项都没有用处。php文件。就像这样,它们不起作用。我真的需要一些方向,因为我觉得我哪里也去不了。下面是我尝试过的