web-dev-qa-db-ja.com

ショートコードがウィジェットまたは投稿で実行されているかどうかを確認する方法

私はWordPressのショートコードを使って私のウェブサイト用の機能を作成しています。ショートコードは、特定のデータを含むHTMLテーブルを表示します。

私はウィジェット/サイドバーの短いコードを有効にしました、そしてそれはウィジェットでうまく働いています。

唯一の問題は、私のデザイナーが2つの異なるスタイルを作成したことです。一つは投稿用、もう一つはウィジェット用です。コードがサイドバーまたはポストで実行されていることを知る方法はありますか?

例えば:

if(is_widget()){
//add stylesheet for widget here
}
else{
//add stylesheet for post here
}

ありがとうございました

2
thecosmicguys02

ショートコード関数内で条件付きタグ in_the_loop を使用すると、目的にかなうことがあります。

if( in_the_loop() ) {
    //add stylesheet for post/page here...
} else {
    //add stylesheet for widget here...
}
1
Qaisar Feroz