根据php中的页码更改href

时间:2019-06-04 23:53:39

标签: php html wordpress

我正在尝试创建条件语句,以根据特定页码更改标题徽标的href。例如,在第(29)页上,我希望徽标定向到“ facebook”,而在所有其他页面上,我希望将徽标定向到“主页”。

<div class="logo_container">
    <span class="logo_helper"></span>
  <?php
    if( is_page(29) ) {
    <a href="https://www.facebook.com">
        <img src="<?php echo esc_attr( $logo ); ?>" 
             alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" 
             id="logo" 
             data-height-percentage="<?php echo esc_attr( et_get_option( 'logo_height', '54' ) ); ?>" />
    </a>
  } else {
    <a href="<?php echo esc_url( home_url( '/' ) ); ?>">
        <img src = "<? php echo esc_attr ($ logo);?>" 
            alt = "<? php echo esc_attr ( get_bloginfo ('name')); ?> "
            id =" logo "
            data-height-percentage =" <? php echo esc_attr (et_get_option ('logo_height', '54')); ?> "/>
    </a>

  }
  ?>
</div>

我收到此错误

  

(((!!)解析错误:语法错误,第244行的I:\ wamp \ www \ testnom \ wp-content \ themes \ divi-child \ header.php中出现意外的'<')

3 个答案:

答案 0 :(得分:0)

您没有关闭和打开php。我想我在下面对其进行了编辑:

<div class="logo_container">
                    <span class="logo_helper"></span>
                    <?php
                        if( is_page(29) ) { ?>
                        <a href="https://www.facebook.com">
                            <img src="<?php echo esc_attr( $logo ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" id="logo" data-height-percentage="<?php echo esc_attr( et_get_option( 'logo_height', '54' ) ); ?>" />
                        </a>
                   <?php } else { ?>
                    <a href="<?php echo esc_url( home_url( '/' ) ); ?>">
                        <img src = "<? php echo esc_attr ($ logo);?>" alt = "<? php echo esc_attr (
                        get_bloginfo ('name')); ?> "id =" logo "data-height-percentage =" <? php echo
                        esc_attr (et_get_option ('logo_height', '54')); ?> "/>
                    </a>

                 <?php   }
                    ?>
                </div>

答案 1 :(得分:0)

您需要在php代码的最后关闭php标签。就像在if中一样。

extension NSImage {

    static func desktopPictures() -> [NSImage] {

        let info = CGWindowListCopyWindowInfo(.optionOnScreenOnly, kCGNullWindowID) as? [[ String : Any]]

        var images = [NSImage]()

        for window in info! {

            // we need windows owned by Dock
            let owner = window["kCGWindowOwnerName"] as! String
            if owner != "Dock" {
                continue
            }

            // we need windows named like "Desktop Picture %"
            let name = window["kCGWindowName"] as! String
            if !name.hasPrefix("Desktop Picture") {
                continue
            }

            // this belongs to a screen
            let index = window["kCGWindowNumber"] as! CGWindowID
            let cgImage = CGWindowListCreateImage(CGRect.infinite, CGWindowListOption(arrayLiteral: CGWindowListOption.optionIncludingWindow), index, CGWindowImageOption.nominalResolution)
            images.append(NSImage(cgImage: cgImage!, size: NSMakeSize(CGFloat(cgImage!.width), CGFloat(cgImage!.height))))
        }

        // return the array of Desktop images
        return images
    }
}

答案 2 :(得分:0)

对于我的知识,您不能在另一个php膨胀内部使用php膨胀。 因此,当您执行if else时,则回显所有html。

<div class="logo_container">
                <span class="logo_helper"></span>
                <?php
                    if( is_page(29) ) {
                        echo '<a href="https://www.facebook.com">
                        <img src="' . esc_attr($logo) . '" alt="' . esc_attr(get_bloginfo('name')) . '" id="logo" data-height-percentage="' . esc_attr(et_get_option('logo_height', '54')) . '" />
                        </a>';
                        } else {
                            echo '<a href="' . esc_url(home_url('/')) . '">
                            <img src = "' . esc_attr ($logo) . '" alt = "' .  esc_attr(get_bloginfo('name')) .' "id =" logo "data-height-percentage ="' . esc_attr (et_get_option('logo_height', '54')) . '"/>
                        </a>';
                    }
                ?>
            </div>