Cum să folosești descrieri scurte diferite în pagina magazin și pagina produs în WooCommerce

3 mai 2013, 21:00:42
Vizualizări: 18.5K
Voturi: 2

Ce aș dori să obțin este afișarea frazei "Contactați-ne pentru prețuri" doar pe pagina produsului, nu și în pagina magazinului. Vă rugăm să consultați această pagină: http://www.kepaweleurope.com/shop/soutien-mamoplastia-85/

Poate cineva să mă ajute?

Mulțumesc anticipat, Miguel

1
Comentarii

Poți încerca suportul WooCommerce?

Chip Bennett Chip Bennett
3 mai 2013 22:05:34
Toate răspunsurile la întrebare 2
14

Șablonul pentru descrierea scurtă se găsește în /templates/single-product/short-description.php :

<?php
/**
 * Descrierea scurtă a produsului individual
 *
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     1.6.4
 */

if ( ! defined( 'ABSPATH' ) ) exit; // Ieșire dacă este accesat direct

global $post;

if ( ! $post->post_excerpt ) return;
?>
<div itemprop="description">
    <?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
</div>

Puteți suprascrie acest șablon (sau orice șablon WooCommerce) : http://docs.woothemes.com/document/template-structure/ copiind fișierul în tema dumneavoastră... deci woocommerce/single-product/short-description.php. Apoi îl puteți edita după preferințe.

EDIT: Dacă am înțeles corect întrebarea dumneavoastră, ați face astfel:

<?php
/**
 * Descrierea scurtă a produsului individual
 *
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     1.6.4
 */

if ( ! defined( 'ABSPATH' ) ) exit; // Ieșire dacă este accesat direct

global $post;

?>
<div itemprop="description">
    Contactați-ne pentru a afla prețurile Aici
</div>

Sau ați putea filtra woocommerce_short_description. Sau ați putea defini propria funcție woocommerce_template_single_excerpt() care este pluggable, sau o puteți elimina complet din hook-ul său. Există într-adevăr multe modalități de a face acest lucru, dar suprascrierea șablonului tinde să fie cea mai simplă de înțeles.

EDIT: Iată un exemplu foarte simplu despre cum să filtrați descrierea scurtă (și în general, filtrarea oricărui lucru urmează întotdeauna același proces)

Editare din nou: acest cod se adaugă în functions.php al temei dumneavoastră

function wpa_98244_filter_short_description( $desc ){
    global $product;

    if ( is_single( $product->id ) )
        $desc .= ' adăugați text suplimentar la descrierea scurtă';

    return $desc;
}
add_filter( 'woocommerce_short_description', 'wpa_98244_filter_short_description' );
3 mai 2013 22:21:01
Comentarii

Bună Helga, Mulțumesc pentru ajutor.

Miguel Barros Miguel Barros
7 mai 2013 11:54:35

Bună Helga, Mulțumesc pentru ajutor. Lasă-mă să văd dacă am înțeles. Cea mai simplă metodă este suprascrierea. Am făcut-o, iar acum cred că trebuie să editez fișierul. Întrebarea este ce trebuie să fac pentru a obține ceea ce doresc? Poți să-mi dai mai multe detalii? Mulțumesc anticipat, Miguel

Miguel Barros Miguel Barros
7 mai 2013 12:28:10

Verifică ediția mea. Altfel, clarifică întrebarea ta.

helgatheviking helgatheviking
8 mai 2013 02:31:03

Bună Helga. M-am întors la această problemă, pentru că am fost implicat în alt proiect. Mulțumesc pentru suportul acordat până acum. Ceea ce am nevoie este să am descrierea scurtă ca în tema normală WooCommerce (aș dori să nu am "Contactați-ne pentru a afla prețurile Aici"). Pe pagina produsului aș dori să am descrierea scurtă normală plus "Contactați-ne pentru a afla prețurile Aici" în locul prețurilor pe care le-am șters deja. Nu sunt sigur dacă am fost suficient de clar... Mulțumesc anticipat. Miguel

Miguel Barros Miguel Barros
15 mai 2013 13:56:20

Deci doar copiază template-ul original și adaugă "Contactați-ne" în el. Ce anume din soluția mea nu funcționează pentru tine?

helgatheviking helgatheviking
15 mai 2013 15:16:06

Nu, nu funcționează pentru mine pentru că dacă o folosesc, nu am descrierea scurtă pe pagina produsului și am "Contactați-ne" pe pagina magazinului. Am nevoie de descriere scurtă pe ambele pagini și "Contactați-ne" doar pe pagina produsului. Nu știu dacă sunt clar.... Mulțumesc anticipat.

Miguel Barros Miguel Barros
15 mai 2013 17:44:43

Cred că trebuie să îți editezi întrebarea sau poate chiar să pui o întrebare nouă (diferită). Am răspuns la întrebarea așa cum a fost pusă inițial. Pentru informația ta - descrierea scurtă este afișată în mod implicit pe pagina produsului, cu excepția cazului în care tema ta a modificat acest comportament.

helgatheviking helgatheviking
15 mai 2013 21:50:08

Am editat din nou răspunsul meu pentru a arăta cum poți filtra descrierea în loc să editezi șabloanele.

helgatheviking helgatheviking
15 mai 2013 22:12:41

Helga, te rog spune-mi unde trebuie să pun filtrul în descrierea scurtă? Mulțumesc anticipat.

Miguel Barros Miguel Barros
17 mai 2013 13:15:07

<div itemprop="description"> Este aici? </div>

Miguel Barros Miguel Barros
17 mai 2013 17:16:23

Dragă Helga, am editat fișierul și am făcut următoarea modificare, dar nu funcționează:<?php /* * Descrierea scurtă a unui singur produs /

if ( ! defined( 'ABSPATH' ) ) exit; // Ieși dacă este accesat direct global $post; if ( ! $post->post_excerpt ) return; ?> <div itemprop="description"> function wpa_98244_filter_short_description( $desc ){ global $product; if ( is_single( $product->id ) ) $desc .= ' adaugă text suplimentar la descrierea scurtă'; return $desc; } add_filter( 'woocommerce_short_description', 'wpa_98244_filter_short_description' ); </div>

Miguel Barros Miguel Barros
21 mai 2013 18:20:38

Filtrul trebuie plasat în fișierul functions.php al temei tale

helgatheviking helgatheviking
22 mai 2013 06:48:44

Bună Helga. Mulțumesc pentru sprijin. Funcționează perfect.

Miguel Barros Miguel Barros
23 mai 2013 15:15:45

După toate acestea, nu uita să accepți soluția mea ca răspuns corect.

helgatheviking helgatheviking
24 mai 2013 16:15:00
Arată celelalte 9 comentarii
0

Puteți folosi această funcționalitate și cu baza de date WordPress pentru pagina de produs. În acest cod, puteți adăuga propria descriere scurtă. Am folosit și o condiție. Puteți să o modificați în funcție de cerințele dumneavoastră. Acest cod trebuie să-l adăugați în fișierul functions.php al temei dumneavoastră.

function My_short_description(){
        global $post,$wpdb,$woocommerce;
        $your_short_description = "Descrierea mea";
        $id = get_the_id();
        $prefix = $wpdb->prefix;
        $query = $wpdb->get_row("SELECT post_excerpt FROM {$prefix}posts WHERE ID={$id}");
        if($query)
        {
            $woocommerce_page_short_description = $query->post_excerpt;
            if($woocommerce_page_short_description=="" && $woocommerce_page_short_description==null)
            {
                echo $your_short_description;
            }
        }
    }
    add_action( 'woocommerce_before_add_to_cart_form', 'My_short_description', 40 );
1 mar. 2017 15:17:35