在决定问这个问题之前,我在这个论坛上搜索了一下,但没有找到我的问题的答案,尽管它看起来像是重复的。
无论如何,我制作了使用其特色图像的自定义帖子类型。现在,我想设置如果没有特色图片存在,显示帖子内容,我的意思是显示我帖子中的任何内容(在我的情况下,它是嵌入youtube视频)。
到目前为止,我添加了函数。php如下所示:
function zm_get_backend_preview_thumb($post_ID) {
$post_thumbnail_id = get_post_thumbnail_id($post_ID);
if ($post_thumbnail_id) {
$post_thumbnail_img = wp_get_attachment_image_src($post_thumbnail_id, \'thumbnail\');
return $post_thumbnail_img[0];
}
}
function zm_preview_thumb_column_head($defaults) {
$defaults[\'featured_image\'] = \'Image\';
return $defaults;
}
add_filter(\'manage_posts_columns\', \'zm_preview_thumb_column_head\');
function zm_preview_thumb_column($column_name, $post_ID) {
if ($column_name == \'featured_image\') {
$post_featured_image = zm_get_backend_preview_thumb($post_ID);
if ($post_featured_image) {
echo \'<img src="\' . $post_featured_image . \'" />\';
}
}
}
add_action(\'manage_posts_custom_column\', \'zm_preview_thumb_column\', 10, 2);
}
在我想显示视频而不是特色图片的页面中,我有以下代码:
<?php
// WP_Query arguments
$args = array (
\'post_type\' => array( \'zm_gallery\' ),
);
// The Query
$query_gallery = new WP_Query( $args );
// The Loop
if ( $query_gallery->have_posts() ) {
while ( $query_gallery->have_posts() ) {
$query_gallery->the_post();
echo \'<ul>\';
echo \'<li>\';
$name = get_post_meta($post->ID, \'ExternalUrl\', true);
if( $name ) { ?>
<a href="<?php echo $name; ?>"target="_blank"><?php the_post_thumbnail(); ?></a>
<?php
} else {
the_post_thumbnail();
}
echo \'</li>\';
echo \'</ul>\';
}
} else {
if ( "" === $post->post_content ) {
the_post_thumbnail();
} else {
the_content();
}
}
// Restore original Post Data
wp_reset_postdata();
?>
非常感谢您的帮助。提前谢谢大家。