Cách thêm nút Jump to Recipe khi sử dụng EasyRecipe trong Genesis

Trong Genesis Slack, một người dùng đã hỏi,

Có cách nào dễ dàng để thêm id div vào plugin mà không cần chỉnh sửa tệp plugin không? Tôi muốn gói tất cả các công thức nấu ăn EasyRecipe trong cùng một id div để tôi có thể chuyển đến chúng trong một bài đăng. Hiện tại, plugin chỉ định một id, nhưng nó là duy nhất cho mỗi công thức, điều này khiến việc thêm một nút “Jump to Recipe” duy nhất hoạt động trên bảng trong chủ đề của tôi rất khó khăn.

Div của plugin EasyRecipe khi xuất hiện trong một mục nhập như Bài đăng hoặc Trang có một ID duy nhất như trong đó 730 là ID của Trang hoặc Bài đăng đó.easyrecipe-730-0

Chúng ta có thể tạo một siêu liên kết với URL trỏ đến liên kết băm duy nhất cho một mục nhập nhất định và hiển thị nó phía trên nội dung bằng cách sử dụng hàm trong Genesis.get_the_ID()

Bước 1

Thêm phần sau vào functions.php của chủ đề con :

add_action( 'genesis_entry_content', 'sk_jump_to_recipe', 7 );
/**
 * Add a Jump to Recipe button above entry content on single entry pages when EasyRecipe plugin is active.
 */
function sk_jump_to_recipe() {

	if ( ! ( is_singular() && class_exists( 'EasyRecipe' ) ) ) {
		return;
	}

	echo '<a href="#easyrecipe-' . get_the_ID() . '-0" class="recipe button">Jump to Recipe</a>';

}

Cập nhật: Nếu bạn muốn giới hạn việc tự động thêm nút chỉ cho các bài đăng đã được chỉ định cho một danh mục cụ thể, Recipes thì hãy sử dụng mã sau để thay thế:

add_action( 'genesis_entry_content', 'sk_jump_to_recipe', 7 );
/**
 * Add a Jump to Recipe button above entry content on single post pages belonging to "Recipes" category when EasyRecipe plugin is active.
 */
function sk_jump_to_recipe() {

	if ( ! ( is_singular( 'post' ) && in_category( 'recipes' ) && class_exists( 'EasyRecipe' ) ) ) {
		return;
	}

	echo '<a href="#easyrecipe-' . get_the_ID() . '-0" class="recipe button">Jump to Recipe</a>';

}

Bước 2

Thêm phần sau vào style.css của chủ đề con :

.recipe.button {
	margin-bottom: 20px;
}

Mẹo: Nếu bạn muốn thiết lập cuộn mượt mà đến các phần công thức sau khi nhấp vào các nút Chuyển tới Công thức, hãy làm theo hướng dẫn này.