<?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
Đăng nhận xét