Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中的短代码(Echo';d)周围添加IF语句?(隐藏/显示选项卡)_Php_Wordpress_If Statement_Tabs_Conditional - Fatal编程技术网

如何在PHP中的短代码(Echo';d)周围添加IF语句?(隐藏/显示选项卡)

如何在PHP中的短代码(Echo';d)周围添加IF语句?(隐藏/显示选项卡),php,wordpress,if-statement,tabs,conditional,Php,Wordpress,If Statement,Tabs,Conditional,我使用以下短代码将一组选项卡插入到我的php wordpress模板中 <?php echo do_shortcode('[tabs style="boxed"] [tab title="1"][some content here][/tab] [tab title="2"]' . get_the_excerpt() . '[/tab] [/tabs]'); ?> 好的做法不是回送单行,而是将它们存储

我使用以下短代码将一组选项卡插入到我的php wordpress模板中

    <?php echo do_shortcode('[tabs style="boxed"]
            [tab title="1"][some content here][/tab]
            [tab title="2"]' . get_the_excerpt() . '[/tab]
            [/tabs]');  ?>

好的做法不是
回送
单行,而是将它们存储在一个变量中并回送出最终代码,如下所示:

<?php

$result = '';

$result .= '[tabs style="boxed"]';
if ( get_post_meta( $post->ID, 'tab_contact_1', true ) != 'false' ) {
    $result .= '[tab title="1"][some content here][/tab]';
}
if ( get_post_meta( $post->ID, 'tab_contact_2', true ) != 'false' ) {
    $result .= '[tab title="2"]' . get_the_excerpt() . '[/tab]';
}
$result .= '[/tabs]';

echo do_shortcode( $result );

?>

好的做法不是
回送
单行,而是将它们存储在一个变量中并回送出最终代码,如下所示:

<?php

$result = '';

$result .= '[tabs style="boxed"]';
if ( get_post_meta( $post->ID, 'tab_contact_1', true ) != 'false' ) {
    $result .= '[tab title="1"][some content here][/tab]';
}
if ( get_post_meta( $post->ID, 'tab_contact_2', true ) != 'false' ) {
    $result .= '[tab title="2"]' . get_the_excerpt() . '[/tab]';
}
$result .= '[/tabs]';

echo do_shortcode( $result );

?>


您必须在do_shortcode函数上方执行短码的条件编译,不能在串联字符串中执行if语句。您必须在do_shortcode函数上方执行短码的条件编译,不能在串联字符串中执行if语句。您好,非常感谢您的回复。我已经粘贴了这段代码来代替我所拥有的内容和页面加载,但是现在根本没有显示任何选项卡。我仔细检查了我的自定义字段名,该框实际上已被选中。你能看到它们不显示的原因吗?很难从这段代码中分辨出来,但如果没有加载制表符,这意味着
if
语句可能是
false
。检查您提交的值,这意味着,回显在
get\u post\u meta
中接收到的值。您好,选项卡开始工作(不确定为什么我刚刚添加了2个),但条件逻辑似乎不起作用。我把代码粘贴在这里,让你看看我是否将标签2作为一个例子,结果是错误的。但该选项卡仍显示在前端。有什么想法吗?谢谢你的帮助,语法正确。如果你得到了错误的结果,那么给出的数据就有问题了。是的,谢谢,伙计,我不确定出了什么问题。我在回显复选框的结果(真-假结果等),但即使它们为假,标签仍然保留。我做了一个测试,将代码中的自定义字段重命名为不存在的内容,然后选项卡就不显示了。不知何故,当结果为假时,它并没有隐藏它……天哪,我就快到了,我能感觉到它!:(嗨,Dainis,太棒了,谢谢你的回复。我已经粘贴了这段代码来代替我所拥有的内容和页面加载,但现在根本没有显示任何选项卡。我双击了我的自定义字段名,并且实际选中了该框。你能看到它们不显示的原因吗?很难从这段代码中分辨出来,但是如果没有加载选项卡,这意味着
如果
状态可能是
false
。检查您提交的值,这意味着回显在
get\u post\u meta
中接收到的值。嗨,选项卡开始工作了(不确定我为什么又添加了两个)但条件逻辑似乎不起作用。我将代码粘贴在这里,让你看看我是否以回显表2为例,结果为假。但该选项卡仍显示在前端。有什么想法吗?谢谢你的帮助语法是正确的。如果你得到错误的结果,那么给出的数据就有问题。是的,谢谢,伙计,我不确定出了什么问题。我正在呼应复选框的结果(真假结果等)但即使它们为false,选项卡也会保留。我做了一个测试,将代码中的自定义字段重命名为不存在的字段,然后选项卡不会显示。不知何故,当结果为false时,它不会隐藏它……天哪,我能感觉到它(