WP Manifestindependent plugin directory
manifest / ecommerce / odwp-acadp-lower_price

Pravidelné snižování cen

Jednoduchý plugin pro WordPress, který pravidelně snižuje cenu inzerátů vytvořeného pomocí pluginu Advanced Classifieds & Directory Pro.

by Ondřej Doněk · github.com/ondrejd/odwp-acadp-lower_price · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/ondrejd/odwp-acadp-lower_price/archive/refs/heads/master.zip

Readme

Pravidelné snižování cen

Jednoduchý plugin pro WordPress, který pravidelně snižuje cenu inzerátů vytvořeného pomocí pluginu Advanced Classifieds & Directory Pro.

Upozornění

Plugin je vytvořen na míru webu Nepotrebujem.eu, takže je pravděpodobné, že jej pro vaše použití budete muset upravit. Pokud o něco takového máte zájem, můžete si to objednat i přímo od autora.

Plugin vyžaduje plugin Advanced Classifieds & Directory Pro - bez tohoto pluginu nainstalovaného nebudete moci aktivovat tento plugin.

Poznámka k implementaci

Plugin předpokládá, že produkty, které plugin ACADP vytváří, jsou rozšířené o hodnoty price_orig, price_reduce a price_reduce_days.

Popis pluginu

  • plugin pravidelně snižuje cenu u inzerátů vytvořených pomocí pluginu ACADP, které obsahují meta hodnoty price, price_orig, price_reduce a price_reduce_days,
  • plugin umožňuje nastavit, kdy bude příslušna úloha spuštěna (pro spouštění je využita funkce wp_cron,
  • plugin obsahuje přehledný výpis o provedených změnách cen,
  • plugin obsahuje přehledný výpis ACADP inzerátů z hlediska jejich ceny a jejích stavu a vývoje.

Snímky obrazovek

Nastavení pluginu

Nastavení pluginu

Ceny produktů

Přehled cen produktů

Instalace

Pro správnou funkčnost musíte upravit plugin Advanced Classifieds & Directory Pro takto:

Soubor public/class-acadp-public-user.php řádek 844

// [ondrejd] - pridani snizovani ceny
$price_reduce = (int) $_POST['price_reduce'];
update_post_meta( $post_id, 'price_reduce', $price_reduce );
$price_reduce_days = (int) $_POST['price_reduce_days'];
update_post_meta( $post_id, 'price_reduce_days', $price_reduce_days );
update_post_meta( $post_id, 'price_orig', $price );
// [ondrejd]

Soubor public/partials/user/acadp-public-edit-listing-display.php řádek 243

<!-- [ondrejd] - pridani snizovani ceny -->
<div class="row">
    <div class="col-md-4">
        <!-- Snizit cenu o: 1-50 % -->
        <div class="form-group">
            <label class="control-label" for="acadp-price_reduce"><?php _e( 'Snížit cenu o:', 'advanced-classifieds-and-directory-pro' ); ?></label>
            <div class="input-group">
                <input type="number" name="price_reduce" id="acadp-price_reduce" class="form-control" min="1" max="50" step="1" value="<?php echo ( isset( $post_meta['price_reduce'] ) ) ? esc_attr( $post_meta['price_reduce'][0] ) : esc_attr( '10' ); ?>" aria-describedby="acadp-price_reduce-addon">
                <span class="input-group-addon" id="acadp-price_reduce-addon"><?php _e( '%', 'advanced-classifieds-and-directory-pro' ); ?></span>
            </div>
        </div>
    </div>
    <div class="col-md-4">
        <!-- Po dobu: 1-30 dni -->
        <div class="form-group">
            <label class="control-label" for="acadp-price_reduce_days"><?php _e( 'Po dobu:', 'advanced-classifieds-and-directory-pro' ); ?></label>
            <div class="input-group">
                <input type="number" name="price_reduce_days" id="acadp-price_reduce_days" class="form-control" min="1" max="30" step="1" value="<?php echo ( isset( $post_meta['price_reduce_days'] ) ) ? esc_attr( $post_meta['price_reduce_days'][0] ) : esc_attr( '10' ); ?>" aria-describedby="acadp-price_reduce_days-addon">
                <span class="input-group-addon" id="acadp-price_reduce_days-addon"><?php _e( 'dní', 'advanced-classifieds-and-directory-pro' ); ?></span>
            </div>
        </div>
    </div>
    <div class="col-md-4"></div>
</div>
<!-- //[ondrejd] -->

TODO

Přehled počátečních úkolů k dokončení verze 1.0.0.

  • Základní struktura pluginu (včetně závislosti na wp i acadp)

  • Stránka s nastavením pluginu:

    • kdy se má spouštět skript na změnu cen
  • Stránka s přehledem všech acadp inzerátů a stavu a vývoje jejich cen

    • přidat podbarvení dle stavu vývoje ceny inzerátu
  • Samotná funkcionalita pro snižování cen (přes WP_Cron)

    • provést snížení cen
    • uvést čas tohoto posledního spuštění
    • uložit log o změnách (v závislosti na uživatelském nastavení)
  • Stránka s výpisem provedených změn cen

    • vytvořit tabulku odwpalp-log a zároveň i odpovídající třídu ALP_Log_DbTable.

      Tabulka bude mít tuto strukturu:

      Název sloupce Typ sloupce Defaultní hodnota Popis
      log_id bigint(20) --- Identifikátor záznamu
      created datetime NOW Datum vytvoření
      post_id biging(20) --- Identifikátor inzerátu
      price_orig int(10) --- Původní cena (před změnou)
      price_new int(10) --- Nová cena (po změně)
    • vytvořit třídu ALP_Log_Screen (dědice ALP_Screen_Prototype)

    • vytvořit třídu ALP_Log_Table (dědice WP_List_Table)

  • projít zdrojáky

    • kvůli kvalitě (správné názvy metod, odsazení atp.)
    • zapomenuté komentáře a TODO
    • ujistit se, že je možný překlad a vygenerovat adresář languages a přidat defaultní PO a POT soubory
    • smazat soubor TODO.md (nebo přesunout do souboru README.md)
    • dokončit soubor README.md a zároveň vytvořit zkrácenou anglickou verzi README.en.md
  • vypublikovat na GitHub první release (verze 1.0.0)

  • napsat příspěvek na ondrejd.com

Read the full README on GitHub →