post id do proměnné

Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  jjp a poslední změna je stará 8 let, 2 měsíce.

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)
  • Autor
    Příspěvky
  • #26266

    jjp
    Participant

    Zdravím,
    je možné nějak do proměnné načíst post ID (u woocommerce produktů), ale jen jeho první dvě číslice?

    Děkuji

    #26267

    endwin
    Participant

    A kde to potrebujete provest? na strance detailu produktu?

    #26268

    endwin
    Participant

    jestli je to na strance produktu, tak by melo fungovat:

    <?php
    $id_orez = substr($product->id, 0, 1);
    ?>

    $product->id je volani id z globalni promenne.
    a substr(… , 0, 1) vypise cast retezce od 0teho znaku po 1.

    #26328

    jjp
    Participant

    Díky. Jj, potřebuji to u detailu produktu. Bohužel toto řešení má celkem nevýhodu v tom, že to počáteční dvojčíslí je často stejné.

    Tak mě napadlo, jestli by nešlo u každého produktu vygenerovat náhodné dvojčíslí které by se uložilo do databáze, třeba pomocí rand(5, 80)

    Našel jsem nějaké řešení asi tady: http://wordpress.stackexchange.com/questions/167539/generating-a-random-number-on-every-post-and-saving-it-in-database

    if( function_exists( 'get_post_random_wpse' ) )
        echo get_post_random_wpse( 
            $post_id    = get_the_ID(), 
            $meta_key   = '_post_random', 
            $meta_value = rand( 1000, 10000 ) 
        ); 
    function get_post_random_wpse( $post_id = 0, $meta_key = '_post_random', $meta_value = 0 )
    {
        if( ! ( $post_id > 0 && strlen( $meta_key ) > 0 ) )
            return 0;
    
        if( '' === ( $post_rand = get_post_meta( $post_id, $meta_key, true ) ) ) 
                update_post_meta( $post_id, 
                    $meta_key, 
                    $post_rand = $meta_value 
                );
    
        return $post_rand;
    }

    Jen nevím, kam s těmi kódy? Do function.php?

    A jak ho upravit pro woocommerce? Napadlo mě:

    if( function_exists( 'get_post_random_wpse' ) )
        echo get_post_random_wpse( 
            $product    = get_id(), 
            $meta_key   = '_post_random', 
            $meta_value = rand( 1000, 10000 ) 
        ); 
    function get_post_random_wpse( $product = 0, $meta_key = '_post_random', $meta_value = 0 )
    {
        if( ! ( $product > 0 && strlen( $meta_key ) > 0 ) )
            return 0;
    
        if( '' === ( $post_rand = get_post_meta( $product, $meta_key, true ) ) ) 
                update_post_meta( $post_id, 
                    $meta_key, 
                    $post_rand = $meta_value 
                );
    
        return $post_rand;
    }

    Jen si nejsem úplně 100% jistý správností těch proměnných a funkcí pro woocommerce

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti