Cách di chuyển hình ảnh bài đăng từ nội dung mục nhập bên trong trong Genesis

Trong Genesis, theo mặc định, hình ảnh nổi bật được đặt để hiển thị bên trong trên kho lưu trữ (nếu hiển thị hình ảnh được bật trong cài đặt chủ đề).div.entry-content

Bạn đang tìm cách di chuyển hình ảnh nổi bật (liên kết) ra khỏi để nó nằm ngay bên dưới như là hình ảnh con đầu tiên của nó?.entry-content .entry

Mặc dù hướng dẫn đã được viết cho Genesis Sample, nhưng nó sẽ hoạt động với một vài điều chỉnh trong bất kỳ chủ đề Genesis nào.

Phương pháp 1 :

Đây là phương pháp dễ dàng hơn và được khuyến khích.

Chúng tôi chỉ cần xóa hình ảnh nổi bật khỏi nội dung mục nhập và thêm nó vào phía trên tiêu đề mục nhập bằng cách sử dụng remove_actionadd_action .

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

add_action( 'genesis_before_entry', 'custom_relocate_featured_image' );
function custom_relocate_featured_image() {
    // if this is not an archive, abort.
    if ( is_singular() ) {
        return;
    }

    // Remove featured image from entry content.
    remove_action( 'genesis_entry_content', 'genesis_do_post_image', 8 );

    // Add featured image above entry header.
    add_action( 'genesis_entry_header', 'genesis_do_post_image', 3 );
}

Phương pháp 2 :

  1. Xóa hình ảnh nổi bật khỏi vị trí mặc định của nó, tức là nội dung mục nhập.
  2. Trong một hàm được nối với genesis_markup_entry_open bộ lọc động , hãy nối đầu ra của .genesis_do_post_image()

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

// Remove featured image from entry content.
remove_action( 'genesis_entry_content', 'genesis_do_post_image', 8 );

add_filter( 'genesis_markup_entry_open', 'insert_html_after_entry_markup', 10, 2 );
/**
 * Appends HTML to the opening markup for .entry.
 *
 * @param string $open_html HTML tag being processed by the API.
 * @param array  $args       Array with markup arguments.
 *
 * @return string
 */
function insert_html_after_entry_markup( $open_html, $args ) {
    if ( ! is_singular() && $open_html ) {
        ob_start();
            genesis_do_post_image();
        $additional_html = ob_get_clean();

        $open_html = $open_html . $additional_html;
    }

    return $open_html;
}