Cách tự động thay đổi sên để phù hợp với tiêu đề cho thanh trượt Soliloquy

Đối với tất cả các loại bài đăng trong WordPress, slugs được tạo tự động dựa trên tiêu đề của chúng khi các bài viết được xuất bản. Slug của WordPress là giá trị của post_name trường trong wp_posts bảng. Nếu bạn muốn chỉnh sửa slug của mục nhập để khớp với tiêu đề của nó khi tiêu đề được thay đổi, bạn có thể thực hiện bằng cách chỉnh sửa chuỗi cuối cùng trong liên kết cố định, xóa chuỗi cũ và nhấn enter để WordPress tự động tạo slug phù hợp.

Khi sử dụng Soliloquy (miễn phí hoặc trả phí), không có tùy chọn tích hợp nào để thay đổi slug bằng cách chỉnh sửa liên kết cố định.

Slider Slug trường có sẵn trong tab Misc không giống với slug của WordPress. Ví dụ,

Trong $slide_image_urls = soliloquy( 'front-page-header', 'slug', array(), true );

front-page-header là slug nội bộ cụ thể của Soliloquy. Điều này có thể được thay đổi trong cài đặt Khác.

Trong $front_page_header_slider = get_page_by_path( 'front-page-header', OBJECT, 'soliloquy' );

front-page-header là slug của WordPress. Soliloquy không cung cấp cách thay đổi điều này trong GUI.

Bằng cách sử dụng wp_insert_post_data bộ lọc hook, chúng ta có thể buộc các slugs WordPress cho thanh trượt Soliloquy tự động được cập nhật để chúng khớp với tiêu đề tương ứng của chúng. Thêm phần sau vào functions.php của chủ đề con :

// Updates slug to match title for Soliloquy sliders
function sk_force_update_slug( $data, $postarr ) {

	if ( 'soliloquy' === $postarr['post_type'] && ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
		$data['post_name'] = sanitize_title( $data['post_title'] );
	}

	return $data;

}
add_filter( 'wp_insert_post_data', 'sk_force_update_slug', 99, 2 );

Lưu ý: Đối với các thanh trượt hiện có, mã sẽ không thực hiện bất kỳ điều gì trừ khi thanh trượt được lưu lại / cập nhật.