簡體   English   中英

JQuery + Wordpress PHP變量

[英]JQuery + Wordpress PHP variable

我正在使用jquery周期在我的Wordpress模板中創建幻燈片。 “尋呼機”正在創建覆蓋幻燈片放映的按鈕,並且鼠標懸停使幻燈片前進。 我遇到的麻煩是我需要保持過渡不變,但是我還需要設置href,以便單擊按鈕可以將用戶帶到特定頁面。

  1. 我需要從我的幻燈片中為href檢索變量$ target。
  2. 我需要onclick才能使按鈕可點擊。

如上所述,這是我的新手,這很可能是糟糕的代碼/無法完成/我是白痴。

我的jQuery:

        <script src="<?php bloginfo('stylesheet_directory'); ?>/scripts/jquery.cycle.min.js" type="text/javascript"></script>
    <script type="text/javascript">
            jQuery(document).ready(function($) {
            if ( $('.slides > .slide').size() > 1 ) {
                $('.slides')
                    .cycle({
                        timeout: 6000,
                        speed: 1000,
                        pager: '#slides #mainNav',
                        pauseOnPagerHover: 200,
                        pagerEvent: 'mouseover',
                        pause: true,
                        pagerAnchorBuilder: function(idx, slide) {
                            var slideImage = $(slide).find('img');
                            var slideTitle = slideImage.attr('title');
                            var slideURL = "<?php echo $target; ?>";
                            return '<li><a href="/' + slideTitle + '">' + slideTitle + /* '<br /><span class="description">' + slideDescr + '</span>*/'</a></li>';
                        }
                    });

            }
        });
        </script>

和我的Wordpress幻燈片:

        <?php if ( is_front_page() && $slides = get_posts(array('numberposts' => -1, 'orderby' => 'menu_order', 'order' => 'ASC', 'post_type' => 'slide')) ) : ?>
<div id="mainImg">
        <div id="slides">
            <div class="slides">
                <?php foreach ($slides as $slide) : ?>
                    <?php $title = $slide->post_title; ?>
                    <?php $content = wpautop($slide->post_content); ?>
                    <?php $description = get_post_meta($slide->ID, 'description', true); ?>
                    <?php $thumb = get_the_post_thumbnail($slide->ID, 'slide', array('title' => $title, 'alt' => $description)); ?>
                    <?php $url = get_post_meta($slide->ID, '_slide_url', true); ?>
                    <?php $target = (get_post_meta($slide->ID, '_slide_url_blank', true)) ? 'target="_blank"' : ''; ?>
                    <div class="slide">
                        <?php if ($url) : ?>
                            <a href="<?php echo $url; ?>" <?php echo $target; ?>><?php echo $thumb; ?></a>
                        <?php else: ?>
                            <?php echo $thumb; ?>
                        <?php endif; ?>
                    </div>
                <?php endforeach; ?>
            </div>
<div id="mainNav"></div>        
        </div>
</div><!--end mainImg-->
    <?php endif; ?>

預先感謝您的幫助。

您在哪里:

var slideURL = "<?php echo $target; ?>"

替換為:

var slideURL = $(slide).find('a').attr('target');

上面的操作是獲取幻燈片對象,在幻燈片中找到“ a”標簽,然后獲取“ a”標簽的“ target”屬性。 然后將此值分配給slideURL變量(將為'_blank'undefined )。 有關如何使用jQuery獲取HTML元素和/或其屬性的更多信息,您應該更加熟悉jQuery的TraversingAttributes方法。

無論如何,您絕對不應將Javascript代碼與PHP甚至HTML代碼混合使用。 閱讀有關“ Unobtrusive JavaScript”的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM