2013-09-27 4 views
0

Я работаю над сайтом купон на WordPress. Мне нужно создать калькулятор количества, который будет работать на всех страницах отдельных категорий. У меня будет ползунок, который будет иметь значения $.отображает текущее значение для всех сообщений в категории в wordpress

После того, как значение выбрано и нажатие кнопки отправки, я хочу, чтобы процентные сделки (под этой соответствующей категорией) вычисляли сумму в отношении суммы, выбранной с помощью ползунка. а затем отображать его по соответствующим сделкам. Надеюсь, идея понятна.

До сих пор мне удалось получить все заголовки сообщений текущей страницы категории в массиве, а затем с помощью функции preg_match мне удалось извлечь сумму сделки «%». Кроме того, я создал простой слайдер, который пользователь должен будет ввести свои $ amount.

<?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]', который я хотел бы передать против соответствующего сообщения.

Я не могу определить соответствующее сообщение и передать его сумму «%» и взамен отправить расчетную сумму и сохранить ее обратно на эту должность. то есть при нажатии кнопки «Отправить» я хотел бы, чтобы каждый пост, имеющий процентное значение, вычислялся и отображался против этого конкретного сообщения. Извините за такое огромное объяснение. Я не хотел, чтобы какие-то детали были пропущены. Любая помощь будет оценена по достоинству.

EDITED CODE - Этот код несет ответственность за отображение одной сделки. Я разместил вышеупомянутое в файле боковой панели моей темы. Я хочу отображать сбережения в соответствующей процентной сделке.

<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> 
+0

Его немного неясно, что вы ищете. Исправьте меня, если я ошибаюсь, но у вас есть страница индекса категории, в которой перечислены сообщения. В этих заголовках сообщений есть процент. А на странице индекса категории у вас есть слайдер, который представляет собой сумму в долларах. И вот где я запутался, пользователь скользит ползунок до суммы суммы в количестве долларов, и вы хотите, чтобы это произошло? – Chausser

+0

Привет, Chausser, после того, как пользователь выберет сумму и ударит кнопку отправки, я хочу собрать все% сделок из каждого сообщения и рассчитать сумму w.r.t на пользовательский ввод (слайдер) и отобразить эту сумму на соответствующую запись. –

+0

So EX: post 1% - 10% post 2% - 25% пользователь скользит слайдер, чтобы указать 100 долларов США, вы хотите, чтобы сообщение 1 показывало сэкономить 10 долларов США за сообщение 2, чтобы показать сэкономить 25 долларов США? – Chausser

ответ

0

ОК Я создал JSFIDDLE, который даст вам представление о том, что делать. http://jsfiddle.net/Q5sAK/1/

Для этого я использовал слайдер jquery UI, но это должно работать на вашем собственном слайдере, вам просто нужно вызвать функцию $ .each(), когда вы будете готовы.

Итак, мы знаем, что ваш процент находится в теге h2 с классом coupontitle всех ваших продуктов.

Сначала мы собираемся начать с изменением, что h2 иметь поверочный тег в конце, который мы будем использовать для хранения вычисленного сбережения:

<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(), когда будет обновлен слайдер.

+0

Большое спасибо Chausser. Код работает отлично для всех процентных сделок. Теперь я хочу построить условие для «$» сделок и сделок, в которых нет никакой суммы. –

+0

любой процент суммы? Итак, сообщения, у которых нет сохранения%, просто показывают входное значение? – Chausser

+0

означает сделки, у которых нет 25% или любой суммы. Некоторые из сделок имеют «20 долларов США», а некоторые из них не имеют никаких номеров. Кроме того, данный код работает только для первой сделки, может быть, он ломается, потому что другие сделки не являются сделками% off. –

Смежные вопросы