有些主题的特色图像会显示在文章内页里面,多数情况我们不想让它显示在内页里,那么我们可以添加一个选项控制显示。代码如下:
function prefix_featured_image_meta( $content ) { global $post; $text = __( 'Don\'t display image in post.', 'prefix' ); $id = 'hide_featured_image'; $value = esc_attr( get_post_meta( $post->ID, $id, true ) ); $label = '<label for="' . $id . '" class="selectit"><input name="' . $id . '" type="checkbox" id="' . $id . '" value="' . $value . ' "'. checked( $value, 1, false) .'> ' . $text .'</label>'; return $content .= $label; } add_filter( 'admin_post_thumbnail_html', 'prefix_featured_image_meta' ); function prefix_save_featured_image_meta( $post_id, $post, $update ) { $value = 0; if ( isset( $_REQUEST['hide_featured_image'] ) ) { $value = 1; } // Set meta value to either 1 or 0 update_post_meta( $post_id, 'hide_featured_image', $value ); } add_action( 'save_post', 'prefix_save_featured_image_meta', 10, 3 );
将以上代码加到functions.php里即可。
然后在single.php里需要判断文章的hide_featured_image字段是否为1(隐藏),剩下功能代码请自行根据自己的主题修改即可。
0 个评论