Saya mencoba menampilkan teks ACF di halaman produk tunggal WooCommerce. Berdasarkan rentang waktu.

Ini adalah kode, yang saat ini saya gunakan:

function time_promo() {
    // Set the correct time zone  (http://php.net/manual/en/timezones.php)
    date_default_timezone_set( 'Europe/Brussels' );
    
    // Set the start time and the end time
    $start_time = mktime( 06, 00, 00, date( 'm' ), date( 'd' ), date( 'y' ) );
    $end_time   = mktime( 15, 00, 00, date( 'm' ), date( 'd' ), date( 'y' ) );
    $time_now   = strtotime( 'now' );
    
    // Check time
    if ($time_now >= $start_time && $time_now <= $end_time){
    
        // Show Field
        echo '<p id="promo">'.get_field('promo').'</p>';
    }
}
add_action( 'woocommerce_single_product_summary', 'time_promo' );

Namun, ini tidak menunjukkan apa pun di halaman produk tunggal. Seseorang yang bisa memberi tahu saya di mana kesalahannya?

-1
daviecdlh 12 Mei 2021, 14:16

1 menjawab

Jawaban Terbaik

Ini akan berhasil, dan jika tidak, Anda akan melihat alasannya.

Sesuaikan dengan kebutuhan Anda:

function action_woocommerce_single_product_summary() {
    // Set the correct time zone  (http://php.net/manual/en/timezones.php)
    date_default_timezone_set( 'Europe/Brussels' );

    // Set the start time and the end time
    $start_time = mktime( 06, 00, 00, date( 'm' ), date( 'd' ), date( 'y' ) );
    $end_time   = mktime( 21, 00, 00, date( 'm' ), date( 'd' ), date( 'y' ) );
    $time_now   = strtotime( 'now' );

    // Check time
    if ( $time_now >= $start_time && $time_now <= $end_time ) {
        
        // ACF plugin is active
        if ( class_exists('ACF') ) {
            // Get field
            $promo = get_field('promo');
        
            // Check if value exists
            if ( $promo ) {
                // Show Field
                echo '<p id="promo">' . $promo . '</p>';    
            } else {
                echo '<p id="promo">ACF field not found!</p>';              
            }
        } else {
            echo '<p id="promo">ACF does not exist!</p>';               
        }
    } else {
        echo '<p id="promo">The time conditions are not met!</p>';  
    }
}
add_action( 'woocommerce_single_product_summary', 'action_woocommerce_single_product_summary', 11 );
1
7uc1f3r 12 Mei 2021, 18:14