0

我正在开发基于 wordpress 的优惠券网站。我必须创建一个适用于所有单独类别页面的金额计算器。我将有一个具有 $ 值的金额滑块。

一旦选择了一个值并单击提交按钮,我希望百分比交易(在相应的类别下)计算相对于使用滑块选择的 $ 金额的金额。然后将其显示在各自的交易中。我希望这个想法很清楚。

到目前为止,我已经设法将当前类别页面的所有帖子标题放入一个数组中,然后使用 preg_match 功能,我已经成功提取了“%”交易金额。我还创建了一个简单的滑块,用户需要输入他们的金额。

<?php
$array = array();
global $post;
$category = get_the_category($post->ID);
$category = $category[0]->cat_ID;
$myposts = get_posts(array('numberposts' => 1, 'offset' => 0, 'category__in' => array($category), 'post_status'=>'publish'));
foreach($myposts as $post) :
setup_postdata($post);

$title = get_the_title();
array_push($array,$title);

 endforeach; ?> 
<?php wp_reset_query(); ?>

  <?php   

foreach($array as $str) {
if(preg_match('/(\d+)\%/i' ,$str,$m)) {
             echo $m[1],"\n"; ?>

  <input type="text" name="a" value="<?php echo $m[1]; ?>" size=5> 

<?php  }
} ?>

上面的代码用于获取当前类别下的所有帖子,并从相应的帖子标题中提取 % 值。提取的数字在 '$m[1]' 中,我想将其传递给相应的帖子。

我无法定义相应的帖子并传递该“%”金额,并作为回报发送计算的金额并将其保存回该特定帖子。也就是说,在单击提交按钮时,我希望每个具有百分比值的帖子都会被计算并针对该特定帖子显示。抱歉这么大的解释。我不想错过任何细节。任何帮助,将不胜感激。

编辑的代码 - 此代码负责显示单个交易。我已将上述内容放在主题的侧边栏文件中。我想在相应的百分比交易中显示节省。

    <div style="float:left; <?php if($GLOBALS['themename']['display_previewimage'] =="yes"){ ?>width:357px;<?php }else{ ?>width:477px;margin-left:10px;<?php } ?>">

     <h2 class="coupontitle">

        <a href="<?php echo $link; ?>" title="<?php the_title_attribute(); ?>" <?php if($GLOBALS['premiumpress']['analytics_tracking'] =="yes"){ ?>onclick="pageTracker._trackEvent('COUPON CLICK', 'TITLE CLICK', '<?php the_title(); ?>');"<?php } ?> <?php if(is_single()){ ?> target="_blank"<?php } ?>>

           <?php the_title(); ?>

        </a>

    </h2>

    <p><?php echo $post->post_content; ?></p> 

    <?php if($code != "" && $GLOBALS['themename']['system'] =="link"){ ?>        
    </div>
4

1 回答 1

0

好的,我创建了一个 JSFIDDLE,它可以让您了解该做什么。http://jsfiddle.net/Q5sAK/1/

为此,我使用了 jquery UI 滑块,但这应该适用于您自己的滑块,您只需在准备好时调用 $.each() 函数。

所以我们知道你的百分比在你所有产品的类优惠券标题的 h2 标签中。

首先,我们将首先修改 h2 以在末尾有一个 span 标签,我们将使用它来保存计算的节省:

<h2 class="coupontitle">
    <a href="<?php echo $link; ?>" title="<?php the_title_attribute(); ?>" <?php if($GLOBALS['premiumpress']['analytics_tracking'] =="yes"){ ?>onclick="pageTracker._trackEvent('COUPON CLICK', 'TITLE CLICK', '<?php the_title(); ?>');"<?php } ?> <?php if(is_single()){ ?> target="_blank"<?php } ?>>
       <?php the_title(); ?>
    </a>
    <span><span>
</h2>

然后我们需要添加将计算节省的javascript。

function updateSlider(){
    //Get the value of the slider.
    var curentSliderAmount = $('#sliderId').val();

    //Loop over all of the titles
    $.each($('.coupontitle'),function(index,coupObj){
        //This will create the variable from the regex search that will have all of the parts for the percent we need
        var percent = $(coupObj).text().match(/(\d+)\%/i);
        //We will then take the 2nd part which is just the number without the % sign and make it a percent then multiply that by the slider value and then fix it to a 2 decimal value so it can be used a curency.
        var savings = ((percent[1]*.01) * curentSliderAmount ).toFixed(2);
        //We then set the span html content = to our newly calculated value.
        $('span',coupObj).html('Save: $'+savings);
    });
}
//Run this when the page starts
$(document).ready(function(){ updateSlider() });

然后你只需要在滑块更新时调用 updateSlider() 。

于 2013-09-28T18:39:00.447 回答