Я совершенно отчаялся, пытаясь решить это. Я настраиваю тему WordPress Tisson Pro, чтобы она была готова для WooCommerce (это не так). Я уже сделал то, что было предложено, что касается «совместимости сторонних / пользовательских / не связанных с WC тем», сделал это в моей собственной теме ребенка и еще 1 миллион вещей … Но боковая панель по-прежнему не загружается на странице магазина! Я проверил код и, похоже, проблема в следующем;
woocommerce.php
<?php get_header();
$sidebar = mfn_sidebar_classes();
?>
<!-- Content -->
<div id="Content">
<div class="container">
<!-- .content -->
<?php
//open div
if( $sidebar ) echo '<div class="content">';
//get woocommerce content
woocommerce_content();
if( $sidebar ){
//close div
echo '</div>';
} else {
echo '<div class="clearfix"></div>';
}
?>
<!-- Sidebar -->
<?php
if( $sidebar ){
get_sidebar();
}
?>
</div>
</div>
<?php get_footer(); ?>
Код не вводится, если ($ sidebar), почему-то я не могу понять, почему! Я попробовал все без удачи.
Пожалуйста, если вы могли бы помочь мне, я буду очень признателен 🙂
От WooCommerce Совместимость с третьей стороной документы, вы должны иметь возможность просто определить свои обертки … которые выглядит как <div class="content">
насколько я могу судить. Если вы используете эти обертки в functions.php
тогда тебе не нужен woocommerce.php
,
add_action('woocommerce_before_main_content', 'my_theme_wrapper_start', 10);
add_action('woocommerce_after_main_content', 'my_theme_wrapper_end', 10);
function my_theme_wrapper_start() {
echo '<div class="content">';
}
function my_theme_wrapper_end() {
echo '</div>';
echo '<div class="clearfix"></div>';
}
Попробуй это ..
# WOOCOMMERCE CONNECT
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );
add_action( 'woocommerce_before_main_content', '_woocommerce_output_content_wrapper', 10 );
add_filter( 'woocommerce_show_page_title', 'no_title' );
function no_title(){
return false;
}
function _woocommerce_output_content_wrapper(){
echo '<div class="content"><div class="entry-content">';
genesis_do_breadcrumbs();
echo '<h1 class="entry-title" itemprop="headline">';
woocommerce_page_title();
echo '</h1>';
}
Приведенные выше коды будут работать только в том случае, если стандартные хуки не удаляются или не перемещаются в другие функции.
Могу ли я узнать ваш текущий URL магазина? В генезисе есть настройки страницы, которые вы можете выбрать макет страницы. Вы должны выбрать sidebar-content или content-sidebar. Затем на виджетах ваша основная боковая панель должна иметь как минимум один виджет, чтобы вы могли видеть результаты. Проблема генезиса и структуры woocommerce не одинакова. Все, что вам нужно сделать, это обернуть WooCommerce HTML с <div class="content"><div class="entry-content">
, Структура должна быть такой
<div class="content">
<div class="entry-content">
<woocommerce HTML>
</div>
</div>
<sidebar>sidebar</sidebar>
Если выравнивание все еще не правильно, проблема в ваших кодах CSS. Второй вариант — переопределить ваш файл woocommerce для текущей темы, и вам не нужно использовать хуки в functions.php. Надеюсь, что это поможет вам.