如何在PHP中声明变量而不在我的html中显示其值?

时间:2017-08-18 03:12:52

标签: php html wordpress

我在Wordpress网站上工作,我需要传递一个页面的url作为函数的参数。在这种情况下,我正在使用

bloginfo('url');

检索网站的基本网址。

所以我的代码是

<?php 

$portfolio_link = bloginfo('url');

if ( ! function_exists( 'ow_nav' ) ) {
    function ow_nav( $nav_position ) {
        ?>
        <nav id="ow-nav-<?php echo $nav_position; ?>" class="ow-nav clearfix ow-nav-<?php echo $nav_position; ?>">
            <ul class="ow-nav-list">
                <?php ow_nav_item( '#home',         'Home'                ); ?>
                <?php ow_nav_item( '#about',        'About'               ); ?>
                <?php ow_nav_item( '#criteria',     'Investment Criteria' ); ?>
                <?php ow_nav_item( '#approach',     'Approach'            ); ?>
                <?php ow_nav_item( '#team',         'Team'                ); ?>
                <?php ow_nav_item( $portfolio_link, 'Portfolio'           ); ?>
            </ul>
        </nav>
        <?php
    }
}

if ( ! function_exists( 'ow_nav_item' ) ) {
    function ow_nav_item( $link, $text ) {
        ?>
        <li>
            <a href="<?php echo $link; ?>">
                <span class="ow-txt"><?php echo $text; ?></span>
                <span class="ow-dot"></span>
            </a>
        </li>
        <?php
    }
}

但是当我这样做时,该变量会在我的HTML中泄露,在DOM中的随机位置显示该URL。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

正如您所见,

bloginfo()会自动回显返回的值。 要返回值并将其存储在变量中,您需要使用get_bloginfo()代替,例如:

$portfolio_link = get_bloginfo('url');

bloginfo参考:https://developer.wordpress.org/reference/functions/bloginfo/
get_bloginfo参考:https://developer.wordpress.org/reference/functions/get_bloginfo/

注意:您会遇到许多 Wordpress函数是这样的,其中一个版本将自动显示该值,第二个版本(通常以get_开头)返回值,例如the_title / get_the_title