2

カスタム投稿タイプのページから注目の画像メタボックスを削除することができました。以下は私が使用したものです:

add_action('do_meta_boxes', 'remove_thumbnail_box');
function remove_thumbnail_box() {
  remove_meta_box( 'postimagediv','page','side' );
}

しかし、私が本当にやりたいことは、これを特定のページ テンプレートにのみ適用することです。これは可能ですか?

ありがとう!

4

3 に答える 3

2

ああ、私は解決策を見つけました。

$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
$template_file = get_post_meta($post_id,'_wp_page_template',TRUE);
if ($template_file === 'page-template-name.php') {
  add_action('do_meta_boxes', 'remove_thumbnail_box');
  function remove_thumbnail_box() {
    remove_meta_box( 'postimagediv','page','side' );
  }
}

より良い解決策があれば...投稿することを躊躇しないでください。

ありがとう!

于 2012-09-30T20:17:40.940 に答える
0

別の解決策があります。を編集することで、page.php

あなたの機能の画像divが例えば以下のように見える場合

<div class="thumbnail">
  <?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?> 
</div>

あなたが使用することができます

if (is_page( array( 42, 'about-me', 'Contact' ) ); // 表示されるページが投稿 ID :42、または post_name_slug "about-me"、または post_title "Contact" の場合、true を返します。

<?php
if (is_page( array( 42, 'about-me', 'Contact' ) ) ) {
    ?>
<div class="thumbnail" style="display:none;">
<?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?> 
</div>
<?php
}else{
?>
<div class="thumbnail">
 <?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?> 
</div>
<?php}?>
于 2015-06-16T17:32:15.250 に答える