Belena27089
Мой дом здесь!
- Регистрация
- 16 Авг 2016
- Сообщения
- 462
- Реакции
- 433
- Автор темы
- #1
Не нашла. Как можно переопределить классы WooCommerce Blocks в теме?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
**
* Get the price.
*
* @param WC_Product $product Product.
* @return string Rendered product output.
*/
protected function get_price_html( $product ) {
if ( empty( $this->attributes['contentVisibility']['price'] ) ) {
return '';
}
return sprintf(
'<div class="wc-block-grid__product-price price">%s</div>',
$product->get_price_html()
);
}
/**
* Get the "add to cart" button.
*
* @param WC_Product $product Product.
* @return string Rendered product output.
*/
protected function get_add_to_cart( $product ) {
$attributes = array(
'aria-label' => $product->add_to_cart_description(),
'data-quantity' => '1',
'data-product_id' => $product->get_id(),
'data-product_sku' => $product->get_sku(),
'rel' => 'nofollow',
'class' => 'wp-block-button__link add_to_cart_button',
);
if ( $product->supports( 'ajax_add_to_cart' ) ) {
$attributes['class'] .= ' ajax_add_to_cart';
}
return sprintf(
'<a href="%s" %s>%s</a>',
esc_url( $product->add_to_cart_url() ),
wc_implode_html_attributes( $attributes ),
esc_html( $product->add_to_cart_text() )
);
}
Вот мне надо внести изменения в carousel-slider в файл \wp-content\plugins\carousel-slider\templates\public\product-carousel.php, я его и так и сяк пытаюсь в тему вставить, но он не реагирует на мои изменения , только в основной папке.
В wp-content\plugins\woo-gutenberg-products-block\assets\php\class-wgpb-block-grid-base.php
Код:** * Get the price. * * @param WC_Product $product Product. * @return string Rendered product output. */ protected function get_price_html( $product ) { if ( empty( $this->attributes['contentVisibility']['price'] ) ) { return ''; } return sprintf( '<div class="wc-block-grid__product-price price">%s</div>', $product->get_price_html() ); } /** * Get the "add to cart" button. * * @param WC_Product $product Product. * @return string Rendered product output. */ protected function get_add_to_cart( $product ) { $attributes = array( 'aria-label' => $product->add_to_cart_description(), 'data-quantity' => '1', 'data-product_id' => $product->get_id(), 'data-product_sku' => $product->get_sku(), 'rel' => 'nofollow', 'class' => 'wp-block-button__link add_to_cart_button', ); if ( $product->supports( 'ajax_add_to_cart' ) ) { $attributes['class'] .= ' ajax_add_to_cart'; } return sprintf( '<a href="%s" %s>%s</a>', esc_url( $product->add_to_cart_url() ), wc_implode_html_attributes( $attributes ), esc_html( $product->add_to_cart_text() ) ); }
класс тега , допустим, добавить-изменить
а вот я его копирую и полностью плагин , и из папки \templates\public\ его вытаскиваю в разных вариациях , и просто прямо в тему копирую, на мои изменения в файле никак не реагирует.Как и куда его правильно прописать, создать в теме папку plugins?скопируйте этот файл шаблона в папку с темой и делайте с ним что хотите. при обновлении плагинов, этот файл в папке с темой не будет обновляться.
для удобства некоторые еще создают в папке с темой подпаку с названием плагина, чтобы файлы не перемешались:
вашатема/carousel-slider/product-carousel.php
а вот я его копирую и полностью плагин , и из папки \templates\public\ его вытаскиваю в разных вариациях , и просто прямо в тему копирую, на мои изменения в файле никак не реагирует.Как и куда его правильно прописать, создать в теме папку plugins?
а не хотите на минутку убрать родной файл из папки плагина и посмотреть результат? чисто ради интереса.Вот так я первым делом сделала, но файл не реагирует , вукоммерс тоже так переопределён но его файлы реагируют на изменения
public function define_constants() {
define( 'CAROUSEL_SLIDER_VERSION', $this->version );
define( 'CAROUSEL_SLIDER_POST_TYPE', $this->post_type );
define( 'CAROUSEL_SLIDER_FILE', __FILE__ );
define( 'CAROUSEL_SLIDER_PATH', dirname( CAROUSEL_SLIDER_FILE ) );
define( 'CAROUSEL_SLIDER_INCLUDES', CAROUSEL_SLIDER_PATH . '/includes' );
define( 'CAROUSEL_SLIDER_TEMPLATES', CAROUSEL_SLIDER_PATH . '/templates' );
define( 'CAROUSEL_SLIDER_WIDGETS', CAROUSEL_SLIDER_PATH . '/widgets' );
define( 'CAROUSEL_SLIDER_URL', plugins_url( '', CAROUSEL_SLIDER_FILE ) );
define( 'CAROUSEL_SLIDER_ASSETS', CAROUSEL_SLIDER_URL . '/assets' );
}
убрала файл, он мне пишет в ответа не хотите на минутку убрать родной файл из папки плагина и посмотреть результат? чисто ради интереса.
а вообще надо сомтреть внутренности плагина - он должен искать шаблон - надо понять как. + наверняка есть документация к плагину в сети, где определена кастомизация
Warning: require(D:\OpenServer\domains\wppriaja\wp-content\plugins\carousel-slider/templates/public/product-carousel.php): failed to open stream: No such file or directory in D:\OpenServer\domains\wppriaja\wp-content\plugins\carousel-slider\shortcodes\class-carousel-slider-shortcode.php on line 114
Fatal error: require(): Failed opening required 'D:\OpenServer\domains\wppriaja\wp-content\plugins\carousel-slider/templates/public/product-carousel.php' (include_path='D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/archive_tar;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/console_getopt;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/http_request2;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/mail_mime;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/mail_mime-decode;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/net_url2;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/pear-core-minimal/src;D:\OpenServer\domains\wppriaja\wp-content\plugins\backwpup\vendor/pear/pear_exception;.;d:/openserver/modules/php/PHP-7.1;d:/openserver/modules/php/PHP-7.1/PEAR/pear') in D:\OpenServer\domains\wppriaja\wp-content\plugins\carousel-slider\shortcodes\class-carousel-slider-shortcode.php on line 114
в основном файле пути определены так
я пыталась изменить их направление в файле function.php , но видимо тоже что-то не так делаю.Код:public function define_constants() { define( 'CAROUSEL_SLIDER_VERSION', $this->version ); define( 'CAROUSEL_SLIDER_POST_TYPE', $this->post_type ); define( 'CAROUSEL_SLIDER_FILE', __FILE__ ); define( 'CAROUSEL_SLIDER_PATH', dirname( CAROUSEL_SLIDER_FILE ) ); define( 'CAROUSEL_SLIDER_INCLUDES', CAROUSEL_SLIDER_PATH . '/includes' ); define( 'CAROUSEL_SLIDER_TEMPLATES', CAROUSEL_SLIDER_PATH . '/templates' ); define( 'CAROUSEL_SLIDER_WIDGETS', CAROUSEL_SLIDER_PATH . '/widgets' ); define( 'CAROUSEL_SLIDER_URL', plugins_url( '', CAROUSEL_SLIDER_FILE ) ); define( 'CAROUSEL_SLIDER_ASSETS', CAROUSEL_SLIDER_URL . '/assets' ); }
просто интернет-магазины на другом движке в основном делаю, там всё переопределяется без проблем, а тут угораздило вордпресс взять).