web-dev-qa-db-ja.com

特定の投稿タイプでdiv内のウィザードを非表示にする

"product"というカスタム投稿タイプがあり、投稿タイプが "product"の場合にのみ特定のウィジェットを非表示にします。

<?php function hidewidget() {
   $args = array(
   'name' => 'product'
   );
   $output = 'objects';
   $post_types = get_post_types( $args, $output );
   return $post_types; } 
   $widhide = hidewidget(); 
?>

   <?php 
      if ($widhide = 'product') {
      } else { 
   ?>
    <div class="widgetclass"><?php dynamic_sidebar( 'filters' ); ?></div>
   <?php } ?>

問題は次のとおりです。この関数は単に名前を返すだけなので、名前では何もできません。

特定の種類の投稿を含むページを返すように関数を呼び出す必要があります。

ワードプレスでは可能ですか?ウーコマースの製品詳細ページにそのdivを隠すための他の解決策はありますか?

pd:.widgetclassを削除することはできません。私はウィジェットを隠すためにプラグイン「ウィジェット表示」を試してみますが、.widgetclass divはまだ明らかに現れていました。

1
Kenny Amaro

それが特定のpost_typeであるかどうかを確認できます。

if (is_singular( 'product' ) ) {
   //do nothing if it's a singular product page
}else{
  <div class="widgetclass"><?php dynamic_sidebar( 'filters' ); ?></div>
{

実際の投稿の種類が単なる "product"で、名前空間が設定されていないことを確認してください。

0
rudtek

私は Widget Logicプラグイン を使い、フィールド内の条件式を使います。

! is_singular( 'product' )

これは単一の商品ページを除くすべての商品ページに表示されます。

enter image description here

0
Christina

ウィジェットを呼び出すコードの関数名の後に条件を追加します。

if ( is_singular( 'product' ) ) 
    return:

または

if ( ! is_singular( 'product' ) ) 

を使用します! NOT Logical operatoris_singular 条件タグ

0
Dev