2016-05-24 7 views
-1

Я хочу изменить цену продуктов в соответствии с весом с переменной суммой. Например, серебро, так как цена меняется изо дня в день, поэтому цена будет рассчитываться с суммой, которую я вставляю для 1 г серебра. Например, продукт имеет 300gm и цена на 1 г серебра баксы затем 300 * 2000 = 600000 баксов. Цена серебра будет меняться ежедневно, и цена будет рассчитываться в соответствии с ценой на все продукты. Есть ли какой-либо плагин для этого или если это возможно с некоторым изменением кода, я могу это сделать. Помогите мне в этом вопросе. ThanksКак изменить цену всех продуктов с постоянной переменной в соответствии с весом продуктов в wordpress?

+0

Я думаю, что нанять разработчика, который может создать задачу cronjob для этого, было бы лучшим решением. Задача cronjob (которая может быть только файлом PHP), может каждый день обновлять все цены продукта в базе данных wordpress, основываясь на текущем значении серебра, например. Вы не хотите использовать плагин, потому что в этом случае скрипт будет запускаться только после того, как кто-то посещает ваш сайт, и вы не хотите замедлять загрузку своей страницы из-за этого. –

ответ

1

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

Шаг 1 Добавить новую страницу в wp-admin под названием «Цена Обновить»

Шаг 2 Создание пользовательского шаблона на директории вашей темы под названием page-price-update.php и вставьте следующий фрагмент кода на этом файле шаблона

<?php get_header(); ?> 

<?php if(is_admin()) :?> 

<form action="<?php echo admin_url('admin-ajax.php'); ?>" method="post" > 

    <p class="form-row"> 
     <label for="gram_price">Current Price of 1 Gram</label> 
     <input type="number" name="gram_price" value="" />  
    </p> 
    <p class="form-row"> 
     <input type="hidden" name="action" value="bulk_update_price" /> 
     <input type="submit" value="Update Now" />  
    </p> 

</form> 

<?php else : ?> 

<h3>You need to be an Admin to access this page.!</h3> 

<?php endif; ?> 

<?php get_footer(); ?> 

Этап 3 Поместите следующий фрагмент на свою тему «S functions.php

function bulk_update_price() { 
    if(isset($_POST["gram_price"]) && is_numeric($_POST["gram_price"])) { 
     // get all products 
     $posts = get_posts(array('post_type'=>'product', 'posts_per_page'=>-1)); 
     if(count($posts) > 0) { 
      // iterare through each product 
      foreach ($posts as $post) { 
       setup_postdata($post); 
       wc_setup_product_data($post); 
       $product = wc_get_product($post->ID); 
       if($product->has_weight()) { 
        // get the current price entered i the form field 
        $current_price = floatval($_POST["gram_price"]); 
        // get the product weight 
        $weight = $product->get_weight(); 
        // well now set the price 
        $product->set_price($weight * $current_price); 
       }    
      } 
     } 
    } 
    echo "<h1>Prices updated Successfully.!</h1>"; 
} 
add_action ('wp_ajax_bulk_update_price', 'bulk_update_price'); 
add_action ('wp_ajax_nopriv_bulk_update_price', 'bulk_update_price'); 

Теперь посетить эту страницу (http://your-domain/price-update) и сделать ваши обновления цен.

0

Насколько я знаю, для этого нет плагина. Поскольку цены меняются ежедневно, вы должны создать задание cronjob, как предположил Эрик ван де Вен. С этим вы можете обновлять цены, которые вы храните в базе данных или в файле. Затем ваш wordpress-код может быть прочитан из этого db/файла, где цены должны быть всегда актуальными

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

  • Нет связанных вопросов^_^