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
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.zipReadme
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_reduceaprice_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

Ceny 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 cenpřidat podbarvení dle stavu vývoje ceny inzerátu
-
Samotná funkcionalita pro snižování cen (přes WP_Cron)provést snížení cenuvé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-loga zároveň i odpovídající tříduALP_Log_DbTable.Tabulka bude mít tuto strukturu:
Název sloupce Typ sloupce Defaultní hodnota Popis log_idbigint(20)--- Identifikátor záznamu createddatetimeNOW Datum vytvoření post_idbiging(20)--- Identifikátor inzerátu price_origint(10)--- Původní cena (před změnou) price_newint(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ář
languagesa přidat defaultníPOaPOTsoubory - smazat soubor
TODO.md(nebo přesunout do souboruREADME.md) - dokončit soubor
README.mda zároveň vytvořit zkrácenou anglickou verziREADME.en.md
-
vypublikovat na GitHub první release (verze 1.0.0)
-
napsat příspěvek na ondrejd.com