[PHP] Dodanie okna z VR na stronie Wordpress |
[PHP] Dodanie okna z VR na stronie Wordpress |
1.05.2018, 10:30:03
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 1.05.2018 Ostrzeżenie: (0%) |
Witam.
Mam problem. Próbuję dodać do strony iframe z linkiem do VR. Normalnie wszystko śmiga (przynajmniej tak mi się wydaje ) ale brakuje mi jednego szczegółu, którego nie rozumiem. Może jeszcze warto byłoby wspomnieć że raczkuję w PHP. Ale do rzeczy: uruchamiam stronę z nieruchomościami i chcę dodać kilka elementów, jak min. VR. Kupiłem gotową skórę, ale jak to zawsze bywa nie wszystko jest tak, jak się chce... Skopiowałem i przerobiłem kod odpowiadający za wyświetlanie video z youtube czy vimeo i dodałem jak widać w screenie View Powyżej video jest część "Virtual Tour", która ma być odpowiedzialna za wyświetlanie mojego VR. Normalnie gdy w kodzie wkleję sam iframe to śmiga ok, ale chcę, żeby można było dodać link od front-end. Front-End Zastanawia mnie jedna część kodu: Kod <?php $vr = apartment_wp_rwmb_meta( 'apartment_wp_vr', array( 'source type' => 'url' ) ); $vr_link = esc_html( apartment_wp_rwmb_meta( 'apartment_wp_vr_link' ) ); ?> <?php if ( apartment_wp_framework_options( 'apartment_wp_property_virtual' ) && ( $vr_link || $vr ) ) : ?> <div class="row margin-top-45"> <div class="col-xs-12"> <h5><?php esc_html_e( 'Virtual Tour', 'apartment-wp' ); ?><?php echo (( apartment_wp_framework_options( 'apartment_wp_dot' ) == true ) ? '<span class="special-color">.</span>' : '' ) ?></h5> <div class="title-separator-primary"></div> </div> </div> <?php elseif ( stripos( $vr_link, 'my.matterport.com' ) !== false || stripos( $vr_link, 'matterport.com' ) !== false ) : ?> <?php preg_match( "/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:my.matterport.com\/|matterport.com\/(?:(?:show)?\?(?:.*&)?m(?:&)?=|(?:show|m|id)\/))([^\?&\"'>]+)/", $vr_link, $vr_id ); ?> <div style="position:relative;height:0;overflow:hidden;padding-bottom:56.25%"> <iframe allowfullscreen frameborder="0" src="https://my.matterport.com/show/<?php echo $vr_link; ?>" style="position: absolute;top:0;left:0;width:100%;height:100%"> </iframe> </div> <?php endif; ?> W momencie, gdy zamienię "echo" w iframe na pełny link, np: https://my.matterport.com/show/?m=4auj4uqj7Ms lub http://virtualia.co.uk/virtual-tour/?id=571 również się nie wyświetla. Próbowałem również zastosować w "src=" sam znacznik echo ale efekt ten sam... Wydaje mi się, że problem tkwi w części "preg_match", kompletnie jej nie kumam. Czy może mi ktoś pomóc z tym? A może źle jest napisany cały kod?? Dodam tylko, że podstawowy link zawiera tylko: "?m=" i " id" ale są jeszcze różne dodatkowe ustawienia jak: &lang=, &hl=, &play=, &mf= i wiele innych, których wynikiem jest 1 albo 0. Proszę o pomoc jak to skleić, żeby działało? |
|
|
2.05.2018, 09:02:37
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Rzeczywiście masz trochę pokićkane w tym preg_match, bo powinien łykać ID z parametru, a tego nie robi. Może to uprość? Przechowuj w bazie tylko ID, a potem do src iframe wklejaj sobie link z tym ID? Nie wiem co to u Ciebie jest $vr i $vr_link - po co aż dwa wpisy w bazie?
|
|
|
3.05.2018, 10:40:03
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 1.05.2018 Ostrzeżenie: (0%) |
Witam.
Dzięki @SmokAnalog. Otwirzyłeś mi oczy i... uprościłem. Jak wcześniej pisałem kod był kopiowany z okna do Youtube. Wywaliłem połowę i śmiga: Kod <?php $vr_link = esc_html( apartment_wp_rwmb_meta( 'apartment_wp_vr_link' ) ); ?> <?php if ( apartment_wp_framework_options( 'apartment_wp_property_virtual' ) && ( $vr_link ) ) : ?> <div class="row margin-top-45"> <div class="col-xs-12"> <h5><?php esc_html_e( 'Virtual Tour', 'apartment-wp' ); ?><?php echo (( apartment_wp_framework_options( 'apartment_wp_dot' ) == true ) ? '<span class="special-color">.</span>' : '' ) ?></h5> <div class="title-separator-primary"></div> </div> </div> <div style="position:relative;height:0;overflow:hidden;padding-bottom:56.25%"> <iframe allowfullscreen frameborder="0" src="<?php echo $vr_link; ?>" style="position: absolute;top:0;left:0;width:100%;height:100%"> </iframe> </div> <?php endif; ?> Jeszcze raz serdeczne dzięki. A propos preg_match, to myslałem, że trzeba określić parametry linku. Człowiek się uczy całe życie... Pozdro |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 20:15 |