Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Tăng tốc độ WordPress
    • Tối ưu website WordPress
    • Thiết kế website WordPress
    • Viết plugin WordPress
    • Sửa lỗi nâng cấp website
  • 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

Bài viết liên quan:

  1. Hướng dẫn tạo custom post type cho wordpress
  2. Tùy biến thêm cột trong admin – liệt kê posts và custom post type
  3. Tạo thêm cột hiển thị ảnh đại diện cho danh sách category – WordPress
  4. Chèn HTML vào mô tả term taxonomy descriptions – WordPress
  5. Xắp xếp thứ tự bài viết cho custom post type trong wordpress
  6. [WordPress] Sửa lại cài đặt custom post type sau khi đăng ký – registered_post_type
  7. Di chuyển author box trong genesis
  8. Thêm form đăng ký theo dõi qua email – tạo Email Subscription Box
  9. Tạo RESTful webservice toàn tập cho wordpress
  10. Tạo widget bài viết WordPress Popular Posts

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

Đăng ký nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Bạn đã đăng ký thành công!

Lỗi! hãy làm lại.

thông tin của bạn được 100% bảo mật...

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

Nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Cám ơn bạn đã đăng ký.

Lỗi, hãy làm lại

thông tin của bạn được 100% bảo mật...

HOÀNG WEB

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

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

Email: [email protected]

Website: www.hoangweb.com

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

  • Facebook
  • Snapchat

SẢN PHẨM

  • Plugin Auto-Sync Google Shopping cho WooCommerce
  • Phần mềm chặn click ảo
  • WP2Speed.com – Tăng tốc WordPress

LIÊN KẾT

  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2021 | 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.