私は自分のカスタムWordpressテーマとオーバーライドされたWooCommerceテンプレートを調査して微調整して、WooCommerceページで発生する小さなフォーマットの問題を修正するためにWooCommerceをインストールしました。カートとチェックアウト、それらは_cart.php
_(およびチェックアウトphp)を使用しますが、メインWordpressテーマ_page.php
_。も使用します。 is_woocommerce()
は他の場所の条件にありますが、WooCommerceのドキュメントではチェックアウトやカートでは使用できないと説明しているため、ここではありません。
is_woocommerce()-WooCommerceテンプレートを使用するページでtrueを返します(カートとチェックアウトはショートコード付きの標準ページであるため含まれません)。 http://docs.woothemes.com/document/conditional-tags/
これらのページの外観をどのように変更できますか? 「すべての投稿を表示」と日付/時刻が上部にあり、page.phpのカテゴリサイドバーがあります。これらは意味をなさないため、チェックアウトとカートの明らかな理由で表示したくないです。私のオプションは何ですか?
Page.php以外の別のテンプレートを使用することはできますか?
これはオプションですか?それは悪い習慣ですか?このループですべてのページにもっと負荷がかかりますか?どこに置きますか? http://saiyedfaishal.wordpress.com/2014/01/06/check-if-it-is-woocommerce-page/
これについて最善の方法は何ですか?助けてくれてありがとう!この質問は多少関連しています- woocommerce_before_cartアクションの変更方法
次の関数を使用できます: wc_get_page_id( 'cart') ページのIDを取得します。この関数は、ページ設定をスラッグではなく「カート」ページとして使用します。つまり、設定ページで「カート」の別のURLを設定した場合にも機能し続けます。これは、「チェックアウト」、「ショップ」など、あらゆる種類のWoocommerce特別ページで機能します。
例:
if (wc_get_page_id( 'cart' ) == get_the_ID()) {
// Do something.
}
Cart.phpを完全にオーバーライドする別の方法は、コピーすることです。
woocommerce/templates/cart/cart.php to
yourtheme/woocommerce/cart/cart.php
その後、yourtheme/woocommerce/cart/cart.phpで必要なことをすべて行います
is_cart() 条件タグを使用できます。
if (! is_cart() ) {
// Do something.
}
WooCommerceには、カートとチェックアウトページを変更するための多くのオプションがあります。ここに私がお勧めする3つがあります:
is_cart()
およびis_checkout()
関数は、ページでtrueを返します。例:
if ( is_cart() || is_checkout() ) {
echo "This is the cart, or checkout page!";
}
メインのカートテンプレートファイルはwp-content/themes/{current-theme}/woocommerce/cart/cart.php
メインのチェックアウトテンプレートファイルはwp-content/themes/{current-theme}/woocommerce/checkout/form-checkout.php
これらを編集するには、まず子テーマにコピーします。
wp-content/themes/{current-theme}/page-{slug}.php
page-{slug}.php
は使用される2番目のテンプレートで、WPダッシュボードから手動で割り当てられたテンプレートの後に来ます。
WooCommerceを削除するが、このファイルを削除するのを忘れた場合、内部のコード(WooCommerce関数に依存する可能性がある)は呼び出されないため(ページがある場合を除き)壊れないため、これは他のソリューションよりも安全ですナメクジ{slug}
)。
例えば:
wp-content/themes/{current-theme}/page-cart.php
wp-content/themes/{current-theme}/page-checkout.php
これは、WooCommerceカートとチェックアウト画面を含むpage.php
内の条件として機能することがわかりました。
!is_page(array('cart', 'checkout'))
Page-checkout.phpテンプレートを使用して、カートページのヘッダーを変更しました。/wp-content/themes/childtheme/woocommerce /でpage-cart.phpに名前を変更しました。これにより、ラッピングhtml、ヘッダー、およびフッターをより詳細に制御できます。