[str_replace(",", "", {title[1]})]
function round_price( $price = null, $multiplier = 1, $nearest = .01, $minus = 0 ) {
if ( !empty( $price ) ) {
// strip any extra characters from price
$price = preg_replace("/[^0-9,.]/", "", $price);
// perform calculations
return ( round ( ( $price * $multiplier ) / $nearest ) * $nearest ) - $minus;
}
}
[round_price({price[1]},"1.5","10",".01")]
RewriteBase /
RewriteRule ^main-folder/old-folder/(.*)$ /main-folder/new-folder/$1 [L,R=301]
RewriteCond %{REQUEST_URI}
<?php woocommerce_login_form(); ?>
<?php echo get_terms(); ?>
<?php
$terms = get_terms(); // сохранили результат
echo $terms; // выводим его или делаем что-то еще
?>
мне нужно сделать функцию личного кабинета для каждого пользователя
которые смогут регистрироваться сами по номеру телефона или по электронной почте.
В личном кабинете нужны функции подачи заявок на подключении каких-либо услуг/ Должен быть какой-то список этих услуг со стоимостями и описанием. И чтобы потом эти заявки приходили определенному человеку на электронную почту или еще куда-нибудь.
Так же в личном кабинете должны отображаться подключенные услуги, которые будут туда добавляться администратором.
<?php
/**
* Hook: Woocommerce_single_product_summary.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
* @hooked WC_Structured_Data::generate_product_data() - 60
*/
do_action( 'woocommerce_single_product_summary' );
?>
<?php
/**
* Hook: Woocommerce_single_product_summary.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
* @hooked WC_Structured_Data::generate_product_data() - 60
*/
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 5 );
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 9 );
do_action( 'woocommerce_single_product_summary' );
?>
<?php
/**
* woocommerce_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_product_title - 10
*/
do_action( 'woocommerce_shop_loop_item_title' );
/**
* woocommerce_after_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
?>
<?php
/**
* woocommerce_after_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
/**
* woocommerce_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_product_title - 10
*/
do_action( 'woocommerce_shop_loop_item_title' );
?>
<style>
.Log-In {
<!--Здесь прописать какие-либо стили-->
}
</style>
// Здесь был какой-то код..
} else {
$links['register'] = array(
'label' => esc_html__('<p class="Log-In">Войти</p>', 'woodmart'),
'url' => $account_link
);
// Здесь был какой-то код..
} else {
$links['register'] = array(
'label' => esc_html__('<p style="Здесь прописать какие-либо стили">Войти</p>', 'woodmart'),
'url' => $account_link
);
<?php $product->list_attributes(); ?>
используется метот list_attributes(); Можно на этом остановиться и в своем шаблоне написать global $product;
$product->list_attributes();
public function list_attributes() {
wc_get_template( 'single-product/product-attributes.php', array(
'product' => $this
) );
}
$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; ?>
<div class="container" >
<img src="./images/image1.jpg" />
<div class="description" >Your description 1</div>
</div>
<div class="container" >
<img src="./images/image2.jpg" />
<div class="description" >Your description 1</div>
</div>
<div class="container" >
<img src="./images/image3.jpg" />
<div class="description" >Your description 1</div>
</div>
.container > .description { display:none; }
.container:hover > .description { display: block; }