getAttribute( 'style' ) ); $styles['--wp--style--block-gap'] = format_custom_property( $block_gap ); $div->setAttribute( 'style', css_array_to_string( $styles ) ); $html = $dom->saveHTML(); } $dom = dom( $html ); $div = get_dom_element( 'div', $dom ); if ( ! $div ) { return $html; } if ( ! is_a( $div->firstChild, DOMText::class ) ) { return $html; } $inner_html = trim( $div->firstChild->wholeText ); if ( $inner_html ) { return $html; } $taxonomies = get_object_taxonomies( get_post_type(), 'objects', ); foreach ( $taxonomies as $taxonomy ) { $terms = get_the_terms( get_the_ID(), $taxonomy->name ); if ( ! $terms ) { continue; } $related_articles = get_posts( [ 'post_type' => get_post_type(), 'posts_per_page' => 3, 'tax_query' => [ // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query [ 'taxonomy' => $taxonomy->name, 'field' => 'term_id', 'terms' => wp_list_pluck( $terms, 'term_id' ), ], ], ] ); foreach ( $related_articles as $related_article ) { if ( $related_article->ID === get_the_ID() ) { continue; } $a = $dom->createElement( 'a' ); $a->setAttribute( 'href', get_permalink( $related_article ) ); $a->textContent = $related_article->post_title; $div->appendChild( $a ); } } return $dom->saveHTML(); }