我需要一些帮助来修改这个脚本。我还试图通过自定义分类法和自定义帖子类型来显示相关帖子。
//* Define custom image size for featured image in Related Posts
add_image_size( \'related\', 300, 0, true );
add_action( \'genesis_after_entry_content\', \'child_related_posts\' );
/**
* Outputs related posts with thumbnail
*
* @author Nick the Geek
* @url http://designsbynickthegeek.com/tutorials/related-posts-genesis
* @global object $post
*/
function child_related_posts() {
if ( is_singular ( ) ) {
global $post;
$count = 0;
$postIDs = array( $post->ID );
$related = \'\';
$tags = wp_get_post_tags( $post->ID );
$cats = wp_get_post_categories( $post->ID );
if ( $tags ) {
foreach ( $tags as $tag ) {
$tagID[] = $tag->term_id;
}
$args = array(
\'tag__in\' => $tagID,
\'post__not_in\' => $postIDs,
\'showposts\' => 8,
\'ignore_sticky_posts\' => 1,
\'tax_query\' => array(
array(
\'taxonomy\' => \'post_format\',
\'field\' => \'slug\',
\'terms\' => array(
\'post-format-link\',
\'post-format-status\',
\'post-format-aside\',
\'post-format-quote\'
),
\'operator\' => \'NOT IN\'
)
)
);
$tag_query = new WP_Query( $args );
if ( $tag_query->have_posts() ) {
while ( $tag_query->have_posts() ) {
$tag_query->the_post();
// $img = genesis_get_image() ? genesis_get_image( array( \'size\' => \'related\' ) ) : \'<img src="\' . get_bloginfo( \'stylesheet_directory\' ) . \'/images/related.png" alt="\' . get_the_title() . \'" />\';
$img = genesis_get_image( array( \'size\' => \'related\' ) );
$related .= \'<div class="related-post"><a href="\' . get_permalink() . \'" rel="bookmark" title="Permanent Link to\' . get_the_title() . \'">\' . $img . get_the_title() . \'</a></div>\';
$postIDs[] = $post->ID;
$count++;
}
}
}
if ( $count <= 7 ) {
$catIDs = array( );
foreach ( $cats as $cat ) {
if ( 6 == $cat )
continue;
$catIDs[] = $cat;
}
$showposts = 8 - $count;
$args = array(
\'category__in\' => $catIDs,
\'post__not_in\' => $postIDs,
\'showposts\' => $showposts,
\'ignore_sticky_posts\' => 1,
\'orderby\' => \'rand\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'post_format\',
\'field\' => \'slug\',
\'terms\' => array(
\'post-format-link\',
\'post-format-status\',
\'post-format-aside\',
\'post-format-quote\' ),
\'operator\' => \'NOT IN\'
)
)
);
$cat_query = new WP_Query( $args );
if ( $cat_query->have_posts() ) {
while ( $cat_query->have_posts() ) {
$cat_query->the_post();
// $img = genesis_get_image() ? genesis_get_image( array( \'size\' => \'related\' ) ) : \'<img src="\' . get_bloginfo( \'stylesheet_directory\' ) . \'/images/related.png" alt="\' . get_the_title() . \'" />\';
$img = genesis_get_image( array( \'size\' => \'related\' ) );
$related .= \'<div class="related-post"><a href="\' . get_permalink() . \'" rel="bookmark" title="Permanent Link to\' . get_the_title() . \'">\' . $img . get_the_title() . \'</a></div>\';
}
}
}
if ( $related ) {
printf( \'<div class="related"><h3 class="related-title">Related Posts</h3><div class="related-posts-list" data-columns>%s</div></div>\', $related );
}
wp_reset_query();
}
}
//* Enqueue and initialize jQuery Masonry script
add_action( \'wp_enqueue_scripts\', \'sk_masonry_script\' );
function sk_masonry_script() {
if ( is_singular( \'post\' ) ) {
wp_enqueue_script( \'masonry-init\', get_stylesheet_directory_uri().\'/js/masonry-init.js\', array( \'jquery-masonry\' ), \'1.0\', true );
}
}
以下是我的帖子类型:
1: 帖子(标签、类别)
2: custom\\u post\\u类型:(4个自定义分类)
3: custom\\u post\\u类型:(2个自定义分类)
4: custom\\u post\\u类型:(1个自定义分类)
我可以通过查看代码进行一些调整,并且可以显示与自定义帖子类型相关的帖子。然而,我确信有比我更好的人可以做到这一点。