Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (8)

Наибольший вклад в теги

Все теги (69)

Лучшие ответы пользователя

Все ответы (274)
  • Как вывести атрибуты товаров woocommerce?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Что бы не получать таких ошибок, нужно делать проверку, а не пуста ли переменная $subheadingvalues. Но это так. А вообще в самом плагине все до вас написано. Атрибуты выводятся в товаре в табе "доп информация", посмотрим код этой табы. plugins/woocommerce/templates/single-product/tabs/additional-information.php
    Код там такой <?php $product->list_attributes(); ?> используется метот list_attributes(); Можно на этом остановиться и в своем шаблоне написать
    global $product;
    $product->list_attributes();

    Но получим готовую разметку в виде таблицы. Посмотрим, что делает функция list_attributes();
    public function list_attributes() {
    		wc_get_template( 'single-product/product-attributes.php', array(
    			'product'    => $this
    		) );
    	}

    Идем в папку за нужным файлом plugins/woocommerce/templates/single-product/product-attributes.php
    Помимо прочего в нем видим
    $attributes = $product->get_attributes();
    .........
    <?php foreach ( $attributes as $attribute ) :
    		if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) ) {
    			continue;
    		} else {
    			$has_row = true;
    		}
    		?>
    		<tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>">
    			<th><?php echo wc_attribute_label( $attribute['name'] ); ?></th>
    			<td><?php
    				if ( $attribute['is_taxonomy'] ) {
    
    					$values = wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) );
    					echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
    
    				} else {
    
    					// Convert pipes to commas and display values
    					$values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
    					echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
    
    				}
    			?></td>
    		</tr>
    	<?php endforeach; ?>

    Адаптируйте под свои нужды. Я думаю, должно работать)

    P.S. Не забываем поглядывать в документацию. Вот полный список того, что можно сделать с $product https://docs.woocommerce.com/wc-apidocs/class-WC_P...
    Ответ написан
  • Как сверстать блок как на картинке?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Как-то так, если на скорую руку.
    <style>
        .container{
            background-color: green;
            color: #ffffff;
            float: left;
            width: 100%;
        }
        .container:after {
            display: block;
            content: '';
            clear: both;
        } 
        .b {
            font-weight: bold;
            font-size: 20px;
        }
        .l {
            font-size: 15px;
        }
        li {
            float: left;
            text-align: center;
            width: 100px;
            border-left: 1px solid #fff;
            box-sizing: border-box;
        }
        li:last-child {
            border-right: 1px solid #fff;
        }
        ul {
            display: block;
            margin: auto;
            list-style-type: none;
            width: 500px;
        }
    </style>
    <div class="container">
        <ul>
            <li><p class="b">42</p><p class="l">Lorem</p></li>
            <li><p class="b">125</p><p class="l">Lorem</p></li>
            <li><p class="b">15</p><p class="l">Lorem</p></li>
            <li><p class="b">99</p><p class="l">lorem</p></li>
            <li><p class="b">25</p><p class="l">Lorem</p></li>
        </ul>
    </div>

    55b04f2aafcf47f29e0400b576b8d330.JPG
    Ответ написан
  • Почему интернет-магазины отдают страницу товара в html и нужно ли так делать?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик

    не проще просто отдавать php страницу ?

    А что браузер с ней будет делать? Браузер умеет отображать html со стилями css и скриптами на js, все. Скрипты на PHP обрабатываются на web-сервере, именно там стоит интрепритатор языка. Вычисляются все переменные, делаются запросы в базу данных и прочее, потом собирается html документ и отсылается пользователю в браузер. по-другому это не работает. Даже то, что вроде бы работает в браузере (подгрузка новых постов, товаров, обновление корзины) делается через ajax с обращением к серверу за данными. Вы в свое CMS можете любое окончание для url поставить - .html, .php или вообще без него, механизм работы от этого не изменится
    Ответ написан
  • Почему не подключаются стили woocommerce?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Скорее всего стили не применяются, потому что нет главного контейнера .woocommerce. Все стили от него написаны. Сделайте в вашей теме тег body вот так
    <body <?php body_class(); ?>>
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (88)