Làm cách nào để lấy slug hiện tại trong WordPress?

Permalinks là các URL vĩnh viễn đến các trang cá nhân và bài đăng trên blog của bạn, cũng như kho lưu trữ danh mục và thẻ của bạn. Sên là tên thân thiện với URL của bài đăng, trang, danh mục và thẻ của bạn

Đây là một ví dụ về permalink

https://yourgroovydomain.com/2020/01/01/first-blog-post

Trong ví dụ trên, con sên là first-blog-post

Mục lục

  1. Cách thức hoạt động của sên
  2. Xác định sên
    1. Bài & Trang
    2. Danh mục & Thẻ
  3. Số Ở Cuối Sên
  4. Thay đổi cấu trúc Permalink
  5. Đặt lại Permalinks

Cách thức hoạt động của sên

Khi bạn đặt tiêu đề cho bài đăng, trang, danh mục hoặc thẻ, WordPress sẽ tự động tạo sên

Sên là một phần của URL đề cập đến trang cụ thể đó. Nói chung, sên có xu hướng rất giống với tiêu đề gốc

Slug sẽ khác khi tiêu đề chứa một số ký tự nhất định, như dấu cách hoặc ký hiệu tiền tệ, cũng như bất kỳ thứ gì khác không phải là chữ cái hoặc số. Trong những trường hợp đó, ký tự đặc biệt được thay thế bằng ký tự tương đương thân thiện với URL của nó hoặc bị loại bỏ hoàn toàn khỏi sên

Sự thay thế phổ biến nhất là trong các tiêu đề có nhiều hơn một từ, được phân tách bằng dấu cách. Trong trường hợp đó, mỗi khoảng trắng được thay thế bằng dấu gạch ngang ( – )

Xác định sên

Bài & Trang

Bạn có thể xem slug trong trình chỉnh sửa cho bài đăng hoặc trang trong cài đặt thanh bên, trong phần Bài/Trang → ‘Tóm tắt’. Nhấp vào URL sẽ hiển thị bảng điều khiển với permalink và slug

Làm cách nào để lấy slug hiện tại trong WordPress?

Nếu bạn muốn sử dụng thứ gì đó khác với liên kết cố định mặc định được tạo tự động, bạn cũng có thể sử dụng khu vực này để thay đổi URL thành sên tùy chỉnh

Khả năng thay đổi sên sẽ không xuất hiện trên bản nháp mới, chưa được lưu. Để truy cập tùy chọn này trong trình chỉnh sửa, trước tiên bạn cần lưu bản nháp mới hoặc xuất bản trang hoặc bài đăng của mình

Danh mục & Thẻ

Các hướng dẫn này đề cập đến giao diện WP Admin. Để xem giao diện này, hãy nhấp vào tab Chế độ xem ở góc trên bên phải và chọn Chế độ xem cổ điển

Nếu bạn muốn tìm sên cho danh mục hoặc thẻ, hãy truy cập Bài đăng → Danh mục hoặc Bài đăng → Thẻ trong Trang tổng quan

Làm cách nào để lấy slug hiện tại trong WordPress?

Khi bạn đã tải trang Danh mục hoặc Thẻ, bạn sẽ thấy một danh sách ở bên phải của tất cả các mặt hàng hiện tại của bạn. Cột Slug sẽ hiển thị slug cho từng danh mục

Làm cách nào để lấy slug hiện tại trong WordPress?

Số Ở Cuối Sên

Đôi khi, bạn có thể tìm thấy một con sên có một số ở cuối mà bạn không đặt ở đó. Điều này xảy ra khi WordPress phát hiện cùng một con sên được sử dụng nhiều lần. Vì sên là phần xác định địa chỉ của mỗi bài đăng, trang, danh mục hoặc thẻ nên chúng phải là duy nhất

Một ví dụ về thời điểm điều này có thể xảy ra là nếu bạn viết một bài có tựa đề “Chúc mừng năm mới. ” Con sên mặc định sẽ là chúc mừng năm mới. Nếu bạn viết một bài đăng tương tự với cùng tiêu đề vào năm sau, sên mặc định sẽ là happy-new-year-2 để đảm bảo rằng hai bài đăng có địa chỉ duy nhất

Thay đổi cấu trúc Permalink

Phần này của hướng dẫn áp dụng cho các trang web có WordPress. com Kế hoạch kinh doanh hoặc thương mại điện tử. Nếu trang web của bạn có một trong các gói kế thừa của chúng tôi, thì tính năng này khả dụng trên gói Pro

Theo mặc định, WordPress sử dụng các URL bài đăng có ngày và tên trong đó. Tuy nhiên, WordPress cung cấp cho bạn khả năng tạo cấu trúc URL tùy chỉnh cho các liên kết cố định của bạn. Điều này có thể cải thiện tính thẩm mỹ và khả năng sử dụng của các liên kết của bạn

Trong màn hình Cài đặt → Liên kết cố định, bạn có thể chọn một trong các cấu trúc liên kết cố định phổ biến hơn hoặc nhập cấu trúc liên kết cố định của riêng bạn vào trường “Cấu trúc tùy chỉnh”

⚠️

Nếu thay đổi từ cài đặt permalink “Ngày và tên” mặc định thành “Tên bài đăng”, các bài đăng sẽ không tự động chuyển hướng từ các liên kết cũ. Để thiết lập điều này, hãy sử dụng plugin chuyển hướng

Làm cách nào để lấy slug hiện tại trong WordPress?
Thay đổi cấu trúc permalinks

Đặt lại Permalinks

Đôi khi, bạn có thể gặp lỗi liên quan đến permalinks. Một bước khắc phục sự cố mà bạn có thể thực hiện là đặt lại các liên kết cố định bằng cách thực hiện như sau

Nếu bạn đã từng sử dụng biến toàn cầu $post, bạn có thể nhận thấy các thuộc tính của nó có thể truy xuất nhiều loại dữ liệu WordPress

Thuộc tính $post post_name có thể tìm nạp một post slug

Tôi đã thử nghiệm nó trong một trong những chủ đề mà tôi đang phát triển

Biến cung cấp tiêu đề trang với các từ được phân tách bằng dấu gạch ngang.

Làm cách nào để lấy slug hiện tại trong WordPress?
Do đó, đây là hướng dẫn đơn giản cho biết cách triển khai post_name trong một vòng lặp để lấy sên trang trong WordPress.

chúng ta hãy bắt đầu ngay bây giờ

mã ngắn

Mã nguồn cho tên sên có thể được viết trong bất kỳ tệp WordPress nào tùy thuộc vào cách bạn muốn sử dụng một sên WordPress nhất định

Ví dụ hình ảnh tôi đã đăng đã sử dụng mã ngắn trong một. tập tin php

1.

2. global $post;

3. $slug-name = $post->post_name;

4. echo $slug-name;

5. ?>

Lấy sên trong vòng lặp

Post slug có thể được truy xuất trong vòng lặp while

Đó là cùng một vòng lặp được sử dụng trong chỉ mục. php, trang. php và đơn. php để hiển thị các bài viết của blog

Để lấy sên trang trong vòng lặp, mã phải được viết theo cấu trúc sau

1.

________số 8

3.
first-blog-post0
first-blog-post1
2. global $post;0
2. global $post;1

2. global $post;2

2. global $post;3

Từ mã này, vòng lặp thực tế bắt đầu ở dòng-2

Nhưng vòng lặp được bắt đầu nếu blog chứa ít nhất một bài đăng, đó là dòng 1 chỉ định câu lệnh điều kiện

Do đó, dòng 4-6 sẽ thêm sên bài đăng trên trang đã cho

Nhận sên bài theo id

Hàm WordPress để lấy sên bài đăng theo id là get_post_field trả về một chuỗi

get_post_field phải vượt qua ít nhất hai tham số để truy xuất giá trị sên

Mặc dù, hàm có thể nhận ba đối số

Hai tham số đầu tiên là quan trọng nhất để truy xuất bài đăng theo id bài đăng

Đây là cách triển khai get_post_field

2. global $post;4

Và kết quả…

Làm cách nào để lấy slug hiện tại trong WordPress?

Ở đây, hàm trả về sên bài đăng có tiêu đề 'sample-page Hello word. ’

Id bài viết là 2

Do đó, các tham số mà get_post_field lấy là một chuỗi post_name và số nguyên đại diện cho id của bài đăng

Chức năng nên được viết bên ngoài vòng lặp nếu không cùng một trang slug sẽ lặp lại nhiều lần

Get_post_field hoạt động như thế nào?

Ba đối số của get_post_field bao gồm

  1. chuỗi trường $
  2. $post để chuyển id
  3. bối cảnh $

Từ dòng này 2. global $post;5 giá trị trường $ là post_name và giá trị $post là 2

Phần thô của hàm sử dụng hàm get_post để tạo đối tượng $post bằng cách lấy $post id từ tham số thứ hai get_post_field

Đối tượng bài đăng gọi post_name để lấy sên trang

Do đó, đối tượng post_name được gọi ở dạng này $post->$field

Giá trị $field này được lấy từ hàm get post field, hãy nhớ rằng giá trị của nó là đối số đầu tiên của hàm

Từ dòng mã tôi đã viết, trường $ được đặt thành 'post_name'

Sau đó, hàm sanitize_post_field được gọi để trả về sên bài đăng dựa trên cài đặt được cung cấp

sanitize_post_field nhận giá trị $field, thuộc tính post->$field, id và ngữ cảnh chỉ định trạng thái bài đăng sẽ được truy xuất

Chức năng này có một số điểm tương đồng với get_the_title

Nhận Id trang từ sên

Trong khi tôi đang tìm kiếm chức năng lấy trang nếu sử dụng post slug, tôi thấy get_page_by_path có thể được sử dụng cho mục đích này

Nhưng trong quá trình triển khai chức năng không hiển thị ID của bài viết

Mặc dù, rất nhiều câu trả lời của WordPress Stackexchange cho thấy chức năng này hoạt động

Tôi tin rằng nó cũng có thể hiệu quả với bạn, đây là cách tôi đã triển khai

Bước # 1, mở chức năng. tập tin php

Bước #2, tạo một chức năng mới, của tôi là page_id_by_slug

hàm page_id_by_slug($pageSlug){

$pageObject = get_page_by_path(‘pageSlug’);

nếu($pageObject)

{

tiếng vang $pageObject -> ID;

}

}

Bước #3, mở chỉ mục. php hoặc đơn. php hoặc trang. php và gọi page_id_by_slug

get_page_by_path chi tiết

get_page_by_path trả về một đối tượng WP_Post nếu thành công hoặc null nếu thất bại

Đối tượng WP_Post chứa nhiều phương thức và thuộc tính khác nhau để truy xuất dữ liệu bài đăng hoặc trang bao gồm ID trang

Để lọc các kết quả cần thiết được trả về, get_page_by_path truyền ít nhất một tham số

Con sên trong WordPress ở đâu?

Trong WordPress, slug là phần có thể chỉnh sửa của URL của trang. Nằm ở cuối URL , sên thường chứa các từ khóa được phân tách bằng dấu gạch ngang. Nó cũng có thể chứa ngày, tháng, thời gian, số nhận dạng, tên tác giả, v.v., tùy thuộc vào cấu trúc permalink của trang web.

Một dòng slug trong WordPress là gì?

Trong WordPress, sên là phần URL mà bạn có thể chỉnh sửa khi viết hoặc chỉnh sửa bài đăng . Chỉnh sửa nó trong WordPress trông như thế này. Lưu ý rằng điều này chỉ hoạt động với cài đặt permalink phù hợp. Bạn có thể chỉnh sửa cài đặt permalink trong WordPress thông qua Settings > Permalinks.