Wordpress и вывод произвольного поля

A
На сайте с 25.02.2016
Offline
77
853

Подскажите по произвольному полю в WP пожалуйста, вроде все просто но в php 0 практически...

Стоит плагин Advanced Custom Fields (https://www.advancedcustomfields.com/) , создано дополнительное поле my_fields

Вывожу его в шаблоне Woocommerce отдельно вот так

 <?php  the_field('my_fields',$product_id); ?> 

все просто, все работает

А как вывести его вот таком куске кода вместо ссылки

	<td class="product-name">

<?php
$is_visible = $product && $product->is_visible();

echo apply_filters( 'woocommerce_order_item_name', $is_visible ? sprintf( '<a href="%s">%s</a>', get_permalink( $item['product_id'] ), $item['name'] ) : $item['name'], $item, $is_visible );
echo apply_filters( 'woocommerce_order_item_quantity_html', ' <strong class="product-quantity">' . sprintf( '&times; %s', $item['qty'] ) . '</strong>', $item );

do_action( 'woocommerce_order_item_meta_start', $item_id, $item, $order );

$order->display_item_meta( $item );
$order->display_item_downloads( $item );

do_action( 'woocommerce_order_item_meta_end', $item_id, $item, $order );
?>
</td>

этот кусок выводит

<a href="ссылка на карточку товара">Имя товара</a>

а мне нужно вместо ссылке вывести мое поле

<a href="my_fields">Имя товара</a>

п.с.

квадратные ковычки в коде [ почему то на форуме отображаются как ***93;

приведу еще раз код в цитате

<td class="product-name">
<?php
$is_visible = $product && $product->is_visible();

echo apply_filters( 'woocommerce_order_item_name', $is_visible ? sprintf( '<a href="%s">%s</a>', get_permalink( $item['product_id'] ), $item['name'] ) : $item['name'], $item, $is_visible );
echo apply_filters( 'woocommerce_order_item_quantity_html', ' <strong class="product-quantity">' . sprintf( '&times; %s', $item['qty'] ) . '</strong>', $item );

do_action( 'woocommerce_order_item_meta_start', $item_id, $item, $order );

$order->display_item_meta( $item );
$order->display_item_downloads( $item );

do_action( 'woocommerce_order_item_meta_end', $item_id, $item, $order );
?>
</td>
Kronbberg
На сайте с 14.03.2011
Offline
62
#1
<td class="product-name">
<?php
$is_visible = $product && $product->is_visible();

echo apply_filters( 'woocommerce_order_item_name', $is_visible ? sprintf( '<a href="%s">%s</a>', the_field('my_fields',$product_id), $item['name'] ) : $item['name'], $item, $is_visible );
echo apply_filters( 'woocommerce_order_item_quantity_html', ' <strong class="product-quantity">' . sprintf( '&times; %s', $item['qty'] ) . '</strong>', $item );

do_action( 'woocommerce_order_item_meta_start', $item_id, $item, $order );

$order->display_item_meta( $item );
$order->display_item_downloads( $item );

do_action( 'woocommerce_order_item_meta_end', $item_id, $item, $order );
?>
</td>

Если я правильно понял задачу :)

::::::::::LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)::::::::::
A
На сайте с 25.02.2016
Offline
77
#2

Kronbberg, пустоту почему то выводит так

т.е.

<a href=" ">Название товара</a>

---------- Добавлено 12.06.2016 в 17:29 ----------

может в это случае не the_field() нужно использовать?😕

вот примеры и список функций https://www.advancedcustomfields.com/resources/#functions

TA
На сайте с 12.06.2009
Offline
116
TiA
#3

alextwinner, если вам нужно получить значение поля для его дальнейшей обработки в sprintf, например, то нужно использовать функцию get_field(). Функция the_field() его сразу же выводит.

Профессиональная верстка и разработка сайтов на WordPress (http://www.maultalk.com/topic139110s0.html)
A
На сайте с 25.02.2016
Offline
77
#4

Вот так сработало

echo apply_filters( 'woocommerce_order_item_name', $is_visible ? sprintf( '<a href="%s">%s</a>', $field = get_field('afflink_to_product',$my_fields),

но только если явно цифрой указывать $product_id

т.е. получается не удается получить этот параметр

поясню, это страница пользователя где выводятся его покупки

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий