Một số hàm thường dùng trong file function.php wordpress

 <?php

   // Hàm lấy tất cả các Portfolio Categories (trước đó các bạn cài thêm CPT UI để thêm Add Taxonomies >  Slug Taxonomies "portfolio_categories"

//Viết thêm đoạn sau vào function.php

function portfolio_category_list_block() {

    $terms = get_terms( array(

        'taxonomy' => 'portfolio_categories',

        'hide_empty' => false,

    ));


    // Kiểm tra nếu có categories

    if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {

        echo '<div class="portfolio-categories-grid">';

        foreach ( $terms as $term ) {

            // Lấy URL của hình ảnh đại diện category từ ACF (nếu có)

            $thumbnail_id = get_field('thumbnail', 'portfolio_categories_' . $term->term_id); // Sử dụng get_field của ACF

            $image_url = $thumbnail_id ? wp_get_attachment_url( $thumbnail_id ) : '[thay đường dẫn đến hình ảnh mặc định của bạn]'; // Thay ảnh mặc định nếu không có hình ảnh


            echo '<div class="portfolio-category-item" style="background-image: url(' . esc_url( $image_url ) . ');">';

            echo '<a href="' . get_term_link( $term ) . '">';

            echo '<div class="category-overlay">';

            echo '<h2 class="category-title">' . esc_html( $term->name ) . '</h2>';

            echo '</div>';

            echo '</a>';

            echo '</div>';

        }

        echo '</div>';

    }

}

add_shortcode('portfolio_categories_list', 'portfolio_category_list_block');



//Hàm Hiển thị 12 items mỗi page

function modify_portfolio_items_per_page( $query ) {

    if ( !is_admin() && $query->is_main_query() && is_tax( 'portfolio_categories' ) ) {

        $query->set( 'posts_per_page', 15);

    }

}

add_action( 'pre_get_posts', 'modify_portfolio_items_per_page' );


 // Hàm Thêm hỗ trợ cho file .jfif

function add_jfif_upload_mime_types( $mime_types ) {

    $mime_types['jfif'] = 'image/jpeg';

    return $mime_types;

}

add_filter( 'upload_mimes', 'add_jfif_upload_mime_types' );




Nhận xét