如何在WordPress循环中使用jquery?

时间:2013-05-09 13:59:55

标签: jquery wordpress loops effect

如何在不重复效果的情况下在WordPress循环中使用jquery

<div class="post">
       <?php if ( have_posts() ) : 
       while ( have_posts() ) : the_post(); ?>
           <a class="post_image"  href="<?php the_permalink(); ?>" >
               <img  class="post_image_home"  src='<?php $thumb = get_post_custom_values('post_thumb'); echo $thumb[0]?>'   alt="postimg" />
           </a><!--post_image-->
       <?php endwhile; endif; ?></div><!--post-->

jquery:

    $j=jQuery.noConflict();
   $j('document').ready(function() {
      $j('.post').hover(function() {
             $j('.post_image').stop().animate({"margin-bottom":"10px",},"fast");
             },function(){
             $j('.post_image').stop().animate({"margin-bottom":"0px",},"fast");
      });            });

1 个答案:

答案 0 :(得分:0)

你能不能将它添加到JS文件中?可能比在PHP文件中使用JS更好,并且这会阻止它在PHP每次循环时运行。

如果你必须在PHP文件中这样做,你可以在循环开始之前创建一个全局JS变量,并在运行你自己的JS / jQuery之前检查一下。在循环中的JS内部,更改该全局变量,使其不再运行。

==编辑==

以下是一些示例代码,用于在主题中包含一个单独的JS文件。

这将出现在你的functions.php中:

add_action('wp_enqueue_scripts', 'front_end_js_files');
function front_end_js_files(){
    // shouldn't be needed, but to be safe
    wp_enqueue_script('jquery');
    // this is looking in the same dir as your functions.php
    wp_enqueue_script('my_own_file', get_bloginfo('template_url') . 'my_own_file.js');
}

然后在my_own_file.js中粘贴你的jQuery。请注意,您的JS现在将包含在每个页面中,因此您可能希望使jQuery选择器更具体一些。或者,在排队脚本之前在PHP中添加一些自定义页面检测。