如果条件不在wordpress工作的PHP

时间:2018-05-12 14:42:39

标签: php wordpress if-statement

对于以下页面: https://www.mousampictures.com/department/wedding/

如果标题与提供的标题匹配,我试图显示一个滑块:

    <div id="content" class="site-content" role="main">
        <div class="layout-full">
            <header class="entry-header">
                <h1 class="entry-title"><?php single_cat_title(); ?></h1>
           <!-- This displays 'Wedding' -->
            </header>

            <!-- wedding -->        
            <?php 
                if ( single_cat_title() == "Wedding")  {
//above line doesn't work...and instead prints wedding on the page.
                    echo do_shortcode('[metaslider id="1710"]');
                }
            ?>

            <!--portrait -->
            <?php echo do_shortcode('[metaslider id="1718"]'); ?> 

            <!--travel -->
            <?php echo do_shortcode('[metaslider id="1714"]'); ?>

        </div>

我需要显示每个滑块,具体取决于正确的页面。

3 个答案:

答案 0 :(得分:1)

根据文档(https://developer.wordpress.org/reference/functions/single_cat_title/),single_cat_title()函数中包含两个可选参数。

enter image description here

尝试将第二个参数($display)设置为FALSE

if ( single_cat_title('', FALSE) == "Wedding")  {
    echo do_shortcode('[metaslider id="1710"]');
}

如果不设置此值,则表示应显示标题,将其设置为false以检索它而不是显示它。

答案 1 :(得分:1)

函数single_cat_title默认打印标题,如果要检索比较值,则需要以不同的方式使用函数。

在该功能的documentation上,您可以看到定义:

single_cat_title( string $prefix = '', bool $display = true )

意思是,在你的情况下,如果条件:

你应该做以下事情
if ( single_cat_title('', false) == "Wedding")  {

通过将第二个参数设置为false,您将获得所需的值,而不是将其打印出来。

答案 2 :(得分:1)

<div class="container"> <div> <img src="http://via.placeholder.com/75x75"> </div> <div class="second"> <h2>Please vertically center both</h2> <p>of us!</p> </div> <div> Right </div> </div>有两个参数,single_cat_title()默认为空字符串,prefix是布尔值,默认为display

将条件更改为以下格式:

true