ここでの本当の質問は次のとおりです。Firefoxdev barなどのツールと実際のソースを使用して、この選択を担当する「TheirCode」をどのように見つけますか?
HTMLの出力/ソースを参照している場合は、たとえば公式のStorefrontテーマのデモサイトで、[Product Categories]の見出しまたはセクションを右クリックするだけで、簡単に検査できますsection
。「要素の選択」アイコンなどの他のオプションについては、MDNドキュメントを参照してください。
「実際のソース」(つまり、「ホームページ」テンプレートを使用してページに「製品カテゴリ」セクションを生成するPHPコードまたは関数)の場合は、で見つけることができますinc/storefront-template-functions.php
。
if ( ! function_exists( 'storefront_product_categories' ) ) {
/**
* Display Product Categories
* Hooked into the `homepage` action in the homepage template
*
* @since 1.0.0
* @param array $args the product section args.
* @return void
*/
function storefront_product_categories( $args ) {
if ( storefront_is_woocommerce_activated() ) {
$args = apply_filters( 'storefront_product_categories_args', array(
'limit' => 3,
'columns' => 3,
'child_categories' => 0,
'orderby' => 'name',
'title' => __( 'Shop by Category', 'storefront' ),
) );
...
}
}
}
storefront_product_categories()
あなたが探しているPHP関数もそうであり、必要に応じて完全にオーバーライドできます(https://docs.woocommerce.com/document/set-up-and-use-a-child-theme/#を参照してください)セクション5)。しかし、ランダムなソートで製品カテゴリを表示したいだけの場合はstorefront_product_categories_args
、クエリ引数をフィルタリングするために単に使用することができます(あなたの場合はorderby
):
add_filter( 'storefront_product_categories_args', function( $args ){
$args['orderby'] = 'rand';
return $args;
} );
そのフィルターはstorefront_product_categories()
関数内から呼び出され、これらは使用できる他のフィルター/アクションです:
フィルタ: storefront_product_categories_shortcode_args
アクション: storefront_homepage_before_product_categories
アクション: storefront_homepage_after_product_categories_title
アクション: storefront_homepage_after_product_categories
参照してください。これを使用すると、「アクション」と「フィルタ」の違いがわからない場合。
更新:どのようにしてコードを見つけることができますか?
Storefrontテーマのドキュメントを閲覧します。
WooCommerce(会社)が設計したテーマ、または実際に任意のテーマで機能を見つける方法を探しています。
たとえば、ストアフロントテーマのデモサイトでは、製品カテゴリセクションのHTMLは次のとおりです。
<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
...
</section>
したがって、次のいずれかのキーワードを使用してテーマファイルを検索できます(生成されたHTMLに最も具体的または最も近い一致から始めます)。
<section class="storefront-product-section storefront-product-categories"
class="storefront-product-section storefront-product-categories"
storefront-product-categories
storefront-product-section
Storefront /テーマのドキュメントについて知らなかったとすると、上記の検索を実行すると、最終的に正しいファイルまたはPHPコード/に移動しfunction
ます。
さらにサポートが必要な場合はお知らせください。この回答を適宜更新します。