Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Lấy URL permalink trong wordpress cho mọi kiểu dữ liệu

Lấy URL permalink trong wordpress cho mọi kiểu dữ liệu

Thứ Tư, 08/10/2014 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Single post/page

– Lấy URL của post hoặc page.

the_permalink($post->ID);
echo get_permalink($post->ID);

Không chỉ định post sẽ trả về URL hiện tại.

the_permalink();

Post Type Archive Page

– Lấy permalink cho trang archive của custom post type (custom post type archives page)

// replace $post_type with your custom-post-type
 get_post_type_archive_link( 'custom-post-type'); // just the url

Chú ý: post type phải hỗ trợ archive, archive là template liệt kê toàn bộ dữ liệu của post type khác với category/taxonomy chúng rành riêng cho một danh mục của post type, template category/taxonomy chỉ liệt kê dữ liệu bài viết của một danh mục.
post-type-has-archive

Địa chỉ archive của post chính là Home page home_url(). Nếu site của bạn cấu hình front page có trỏ vào static page thì archive thuộc về trang đó, cái mà is_front_page() trả về true nhưng is_home() thì trả về false.

Nếu tạo page có trùng với địa chỉ slug của post type archive, thì ưu tiên cho template archive. Template archive sử dụng chung là file archive.php, bạn cũng có thể tạo riêng file archive với từng post_type cho website của bạn theo quy định của wordpress. Ví dụ: kiểu post_type=’movies’ thì có archive link: base-url/movies

Category/Taxonomy permalink

Với taxonomy là category có mặc định của post chúng ta sử dụng hàm get_category_link để lấy URL.

<?php get_category_link( $category_id ); ?>

Ví dụ:

<?php
    // Get the ID of a given category
    $category_id = get_cat_ID( 'Category Name' );

    // Get the URL of this category
    $category_link = get_category_link( $category_id );
?>

<!-- Print a link to this category -->
<a href="<?php echo esc_url( $category_link ); ?>" title="Category Name">Category Name</a>

Khác với category, custom taxonomy có thể áp dụng cho mọi taxonomy có trong web của bạn, chỉ định tên taxonomy và danh mục taxonomy (term) vào hàm get_term_link để trả về đường dẫn của term taxonomy đó.

// replace 'custom-taxonomy-slug' with your own
get_term_link( get_query_var( 'term' ), 'custom-taxonomy-slug');

Bạn cũng có thể dùng hàm trên để trả về category URL với taxonomy=’category’.

$link=get_term_link( 'category-slug','category');

Áp dụng tương tự cho tag, tag mặc định dùng cho post có taxonomy=’post_tag’.

$link=get_term_link( 'tag-slug','post_tag');

Ngoài ra, chúng ta được phép liên kết mọi taxonomy cho mọi post type, vì taxonomy là độc lập không dành riêng cho post type nào. Để đăng ký taxonomy cho post type bạn sử dụng hàm register_taxonomy_for_object_type. Xem Ví dụ:

add_action('init', 'add_taxonomy_objects');

function add_taxonomy_objects() {
register_taxonomy_for_object_type('category', 'product');
register_taxonomy_for_object_type('post_tag', 'product');
}

Ví dụ
Nếu bạn sử dụng Facebook’ open graph tags trong head, ví dụ:

<meta property="og:url" content="<?php the_permalink(); ?>" />

Điều này không đúng với trang archive (gồm taxonomy và archive post type). Giá trị thuộc tính content là địa chỉ URL của thuộc tính property og:url thông tin này được sử dụng cho facebook open graph.
Bạn có thể tạo hàm lấy URL hiện tại của trang bằng PHP hoặc xác định permalink cho nội dung trang bằng các hàm template tag. Xem đoạn code sau đây:

<?php 
// instead of permalink:
if ( is_tax( 'custom-taxonomy-slug' ) ) { 
    $permalink = get_term_link( get_query_var( 'term' ), 'custom-taxonomy-slug' );
}
elseif( is_post_type_archive( 'custom-post-type' ) ) {
    $permalink = get_post_type_archive_link( 'custom-post-type' );
}
else {
    $permalink = get_permalink( $post->ID );
}
?>
<meta property="og:url" content="<?php echo $permalink; ?>" />

Nhớ thay ‘custom-taxonomy-slug’ và ‘custom-post-type’ cho kiểu dữ liệu của bạn.

Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: Wordpress Tìm kiếm: custom post type, permalink, taxonomy

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.