根据$值打印不同的html元素

时间:2017-10-13 19:00:04

标签: php html wordpress

我正在尝试编辑WordPress主题的页面,以便页面上可用的三个段落中的一个应该带有一个框。这里有一排三个相似的功能框,只有三分之一应该打印出来:商务包装盒。

现在,由于我已经厌倦了揭穿所有的PHP代码并在其上编写简单而枯燥的html,我想尝试以动态方式执行:当特定条件验证时,那个框将是以特定的方式印刷。

现在,我已经编辑了页面代码,以便可以使用一组不同的图标而不是默认图标(主题附带的图标),您可以从附带的代码中看到,所以我想:"为什么不将特定的图标代码设置为激活盒子设计的条件?"

我搜索了" if"的语法。声明,并尝试在页面中写一些东西:现在网站没有爆炸,这首先是一件好事,但编辑并没有像我害怕的那样起作用。

我甚至不确定" if"是正确的方法,因为基本上重复相同的元素(一个数组?)但同时,我的知识是有限的,正如我所说。

所以这是整个页面的代码:你会注意到我的第二部分

function hestia_features_content( $hestia_features_content, $is_callback = false ) {
if ( ! $is_callback ) {
    ?>
    <div class="hestia-features-content">
    <?php
}
if ( ! empty( $hestia_features_content ) ) :

    $hestia_features_content = json_decode( $hestia_features_content );
    if ( ! empty( $hestia_features_content ) ) {
        $i = 1;
        echo '<div class="row">';
        foreach ( $hestia_features_content as $features_item ) :
            $icon = ! empty( $features_item->icon_value ) ? apply_filters( 'hestia_translate_single_string', $features_item->icon_value, 'Features section' ) : '';
            $image = ! empty( $features_item->image_url ) ? apply_filters( 'hestia_translate_single_string', $features_item->image_url, 'Features section' ) : '';
            $title = ! empty( $features_item->title ) ? apply_filters( 'hestia_translate_single_string', $features_item->title, 'Features section' ) : '';
            $text = ! empty( $features_item->text ) ? apply_filters( 'hestia_translate_single_string', $features_item->text, 'Features section' ) : '';
            $link = ! empty( $features_item->link ) ? apply_filters( 'hestia_translate_single_string', $features_item->link, 'Features section' ) : '';
            $color = ! empty( $features_item->color ) ? $features_item->color : '';
            $choice = ! empty( $features_item->choice ) ? $features_item->choice : 'customizer_repeater_icon';
            ?>
            <!-- <div class="col-md-4 feature-box"> -->

<?php
if  ($icon_value == "&#xe015;") {
    echo '<div class="cherry-plain col-md-4 feature-box">';
} else {
    echo '<div class="col-md-4 feature-box">';
} 
?>

            <!-- <div class="col-md-4 feature-box"> -->
                <div class="info hestia-info">
                    <?php if ( ! empty( $link ) ) : ?>
                    <a href="<?php echo esc_url( $link ); ?>">
                        <?php
                        endif;

                        switch ( $choice ) {
                            case 'customizer_repeater_image':
                                if ( ! empty( $image ) ) {
                                    ?>
                                    <div class="card card-plain">
                                        <img src="<?php echo esc_url( $image ); ?>"/>
                                    </div>
                                    <?php
                                }
                                break;
                            case 'customizer_repeater_icon':
                                if ( ! empty( $icon ) ) {
                                    ?>
                                    <div class="icon" <?php echo ( ! empty( $color ) ? 'style="color:' . $color . '"' : '' ); ?>>
                                       <!-- <i class="fa <?php echo esc_html( $icon ); ?>"></i> -->
                                            <span style="font-size: 33px;" data-icon="<?php echo esc_html( $icon ); ?>"></span>
                                    </div>
                                    <?php
                                }
                                break;
                        }
                        ?>
                        <?php if ( ! empty( $title ) ) : ?>
                            <h4 class="info-title"><?php echo esc_html( $title ); ?></h4>
                        <?php endif; ?>
                        <?php if ( ! empty( $link ) ) : ?>
                    </a>
                <?php endif; ?>
                    <?php if ( ! empty( $text ) ) : ?>
                        <p><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
                    <?php endif; ?>
                </div>
            </div>
            <?php
            if ( $i % 3 == 0 ) {
                echo '</div><!-- /.row -->';
                echo '<div class="row">';
            }
            $i++;

        endforeach;
        echo '</div>';
    }// End if().
endif;
if ( ! $is_callback ) {
    ?>
    </div>
    <?php
}
}
从单纯的语法POV来看,它不应该是完全错误的,因为如果你用if ($icon_value == "&#xe015;")切换if ($icon_value = "&#xe015;")的东西是有效的,那就是它改变了所有的元素,这不是什么我想要。

我只想更改该条件验证的那个元素:我认为有一个WHERE函数但它似乎不存在于我正在思考的形式中。

无论如何:我怎么能纠正这个?

1 个答案:

答案 0 :(得分:0)

我认为您要么检查$icon,要么$features_item->icon_value ... $icon_value似乎没有在页面的任何位置使用。变化:

if($icon_value == "&#xe015;") {

if($icon == "&#xe015;") {

如果这不起作用......试试

if($features_item->icon_value == "&#xe015;") {

交易的一个固定技巧是使用echo '<pre>'; var_dump( $icon_value ); echo '</pre>';来查看你的变量等于什么!