Я использую YITH Wishlist в WooCommerce, WordPress.
В отдельном списке пожеланий - отображается изображение с «удалением из списка», названием продукта и ссылкой на отдельный продукт.
Таким образом, поднявшись на один уровень выше «папок», когда я отображаю отдельные списки желаний на странице «Управление списками желаний», я могу только показать название списка и ссылку на этот отдельный список, где вы можетеувидеть все продукты сгруппированы.Здесь я хочу, чтобы я мог отобразить первое изображение или первое изображение этого отдельного списка пожеланий.
Я неоднократно пробовал и нарушал сценарий.Есть ли кто-нибудь, кто может помочь мне собрать сценарий, который захватит это изображение и позволит мне отобразить его на странице управления списками желаний?Еще лучше, кто-нибудь знает шорткод, который делает это для меня (если есть такая вещь)?
Вот довольно много соответствующих шаблонов файлов ...
ЭТО СТРАНИЦА УПРАВЛЕНИЯШАБЛОН (ЕСЛИ ВЫ Ctrl + F для «Я ХОЧУ ПОКАЗАТЬ ИЗОБРАЖЕНИЕ ЗДЕСЬ», чтобы увидеть, куда я хочу перетащить изображение) - ГДЕ Я ХОЧУ ОТОБРАЖИТЬ ИЗОБРАЖЕНИЕ:
<?php
/**
* Wishlist manage template
*
* @author Your Inspiration Themes
* @package YITH WooCommerce Wishlist
* @version 2.0.5
*/
if ( ! defined( 'YITH_WCWL' ) ) {
exit;
} // Exit if accessed directly
?>
<form id="yith-wcwl-form" action="<?php echo esc_url( YITH_WCWL()->get_wishlist_url( 'manage' ) ) ?>" method="post">
<!-- TITLE -->
<?php
do_action( 'yith_wcwl_before_wishlist_title' );
if( ! empty( $page_title ) ) {
echo apply_filters( 'yith_wcwl_wishlist_title', '<h2 class="h1 blue lh2 mt2 mb0 p0">Manage My Boards</h2>' );
}
do_action( 'yith_wcwl_before_wishlist_manage' );
?>
<table class="shop_table cart wishlist_table wishlist_manage_table" cellspacing="0" >
<thead>
<tr>
<th class="wishlist-name">
<span class="nobr">
Boards
<?php // echo apply_filters( 'yith_wcwl_wishlist_manage_name_heading', __( 'Wishlists', 'yith-woocommerce-wishlist' ) ) ?>
</span>
</th>
<?php /* ?>
<th class="wishlist-privacy">
<span class="nobr">
<?php echo apply_filters( 'yith_wcwl_wishlist_manage_privacy_heading', __( 'Privacy', 'yith-woocommerce-wishlist' ) ) ?>
</span>
</th>
<?php */ ?>
<th class="wishlist-delete">
<span class="nobr">
<?php echo apply_filters( 'yith_wcwl_wishlist_manage_delete_heading', __( 'Delete', 'yith-woocommerce-wishlist' ) ) ?>
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="wishlist-name">
<a title="<?php echo $default_wishlist_title ?>" class="wishlist-anchor" href="<?php echo YITH_WCWL()->get_wishlist_url( 'user' . '/' . $current_user_id ) ?>">
<?php echo $default_wishlist_title ?>
</a>
</td>
<?php /* ?>
<td class="wishlist-privacy">
<?php echo apply_filters( 'yith_wcwl_wishlist_manage_default_privacy', __( 'Public', 'yith-woocommerce-wishlist' ) )?>
</td>
<?php */ ?>
<td class="wishlist-delete"></td>
</tr>
<?php
$wishlist_count = 0;
if( ! empty( $user_wishlists ) ):
?>
<?php foreach( $user_wishlists as $wishlist ): ?>
<?php if( ! $wishlist['is_default'] ): ?>
<tr>
<td class="wishlist-name">
<a title="<?php echo $wishlist['wishlist_name'] ?>" class="wishlist-anchor" href="<?php echo YITH_WCWL()->get_wishlist_url( 'view' . '/' . $wishlist['wishlist_token'] ) ?>">
<!-- I WANT TO SHOW IMAGE HERE (OF THE FIRST PRODUCT IN THE WISHLIST CURRENTLY BEING LOOPED THROUGH) -->
<?php echo $wishlist['wishlist_name'] ?>
</a>
</td>
<?php /* ?>
<td class="wishlist-privacy">
<select name="wishlist_options[<?php echo $wishlist['ID'] ?>][wishlist_privacy]" class="wishlist-visibility selectBox">
<option value="0" class="public-visibility" <?php selected( $wishlist['wishlist_privacy'], 0 ) ?> ><?php echo apply_filters( 'yith_wcwl_public_wishlist_visibility', __( 'Public', 'yith-woocommerce-wishlist' ) )?></option>
<option value="1" class="shared-visibility" <?php selected( $wishlist['wishlist_privacy'], 1 ) ?> ><?php echo apply_filters( 'yith_wcwl_shared_wishlist_visibility', __( 'Shared', 'yith-woocommerce-wishlist' ) )?></option>
<option value="2" class="private-visibility" <?php selected( $wishlist['wishlist_privacy'], 2 ) ?> ><?php echo apply_filters( 'yith_wcwl_private_wishlist_visibility', __( 'Private', 'yith-woocommerce-wishlist' ) )?></option>
</select>
</td>
<?php */ ?>
<td class="wishlist-delete">
<!-- <input type="checkbox" value="yes" name="wishlist_options[<?php echo $wishlist['ID'] ?>][delete]"/> -->
<a class="button" href="<?php echo esc_url( add_query_arg( 'wishlist_id', $wishlist['ID'], wp_nonce_url( YITH_WCWL()->get_wishlist_url( 'manage' ), 'yith_wcwl_delete_action', 'yith_wcwl_delete' ) ) ) ?>"><?php _e( 'Delete', 'yith-woocommerce-wishlist' ) ?></a>
</td>
</tr>
<?php
$wishlist_count ++;
endif;
?>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
<tfoot>
<tr>
<td colspan="3">
<a class="btn button create-new-wishlist" href="<?php echo YITH_WCWL()->get_wishlist_url( 'create' ) ?>">
<?php echo apply_filters( 'yith_wcwl_create_new_wishlist_icon', '<i class="icon-plus"></i>' )?>
<?php echo apply_filters( 'yith_wcwl_create_new_wishlist_title', __( 'Create a new board', 'yith-woocommerce-wishlist' ) )?>
</a>
<?php if( ! empty( $user_wishlists ) && $wishlist_count ): ?>
<button class="submit-wishlist-changes">
<?php echo apply_filters( 'yith_wcwl_mange_wishlist_icon', '<i class="icon-ok"></i>' )?>
<?php _e( 'Save Settings', 'yith-woocommerce-wishlist' ) ?>
</button>
<?php endif; ?>
</td>
</tr>
</tfoot>
</table>
<?php wp_nonce_field( 'yith_wcwl_manage_action', 'yith_wcwl_manage' )?>
<?php do_action( 'yith_wcwl_after_wishlist_manage' ); ?>
</form>
ЭТО ИНДИВИДУАЛЬНАЯ СТРАНИЦА СПИСКА,С РАБОЧИМ ПОКАЗОМ ИЗОБРАЖЕНИЯ ИЗОБРАЖЕНИЯ ПРОДУКТА (ctrl + f «ПОЛУЧИТЬ ИЗОБРАЖЕНИЕ УСПЕШНО», чтобы перейти к соответствующему коду) - ГДЕ МОЖНО УВИДЕТЬ РАБОЧИЙ ПРИМЕР ИЗГОТОВЛЕНИЯ ИЗОБРАЖЕНИЯ ИЗ ПРОДУКТА ЧЕРЕЗ:
<?php
/**
* Wishlist page template
*
* @author Your Inspiration Themes
* @package YITH WooCommerce Wishlist
* @version 2.0.12
*/
if ( ! defined( 'YITH_WCWL' ) ) {
exit;
} // Exit if accessed directly
?>
<script type="text/javascript">
var root = document.documentElement;
root.className += ' wishlist-view';
</script>
<?php do_action( 'yith_wcwl_before_wishlist_form', $wishlist_meta ); ?>
<?php
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
uasort($users_wishlists, 'cmp');
?>
<?php /* ?>
<pre><code>
<?php
print_r($wishlist_items);
// print_r($users_wishlists);
?>
Все доски 0):?>
Edit Board
<?php else : ?>
<?php endif; ?>
">'.$ page_title.'');?> ')?>
')?>
')?>
0): $ Added_items = array ();foreach ($ wishlist_items как $ item): глобальный $ product;$ item ['prod_id'] = yit_wpml_object_id ($ item ['prod_id'], 'product', true);if (in_array ($ item ['prod_id'], $ Added_items)) {continue;} $ add_items [] = $ item ['prod_id'];$ product = wc_get_product ($ item ['prod_id']);$ available = $ product-> get_availability ();$ stock_status = $ Availability ['Class'];if ($ product && $ product-> exist ()):?>
">get_image ()?>get_title (), $ product)?> " class="remove remove_item_from_wishlist" title="<?php _e( 'Remove this product', 'yith-woocommerce-wishlist' ) ?>"> × 1 && $ move_to_another_wishlist && $ is_user_owner):?>
<? PHP
$ column_count ++;
ENDIF;
?>
<? php if ($ is_user_owner):?>
<? PHP
$ column_count ++;
ENDIF;
?>
<? php echo apply_filters ('yith_wcwl_wishlist_view_name_heading', __ ('Имя продукта', 'yith-woocommerce-wishlist'))?>
<? php if ($ show_price):?>
<? php echo apply_filters ('yith_wcwl_wishlist_view_price_heading', __ ('Цена за единицу товара', 'yith-woocommerce-wishlist'))?>
<? PHP
$ column_count ++;
ENDIF;
?>
<? php if ($ show_stock_status):?>
<? php echo apply_filters ('yith_wcwl_wishlist_view_stock_heading', __ ('Состояние запаса', 'yith-woocommerce-wishlist'))?>
<? PHP
$ column_count ++;
ENDIF;
?>
<? php if ($ show_last_column):?>
<? PHP
$ column_count ++;
ENDIF;
?>
<? PHP
if (count ($ wishlist_items)> 0):
$ Added_items = array ();
foreach ($ wishlist_items как $ item):
глобальный продукт $;
$ item ['prod_id'] = yit_wpml_object_id ($ item ['prod_id'], 'product', true);
if (in_array ($ item ['prod_id'], $ Added_items)) {
Продолжить;
}
$ add_items [] = $ item ['prod_id'];
$ product = wc_get_product ($ item ['prod_id']);
$ available = $ product-> get_availability ();
$ stock_status = $ Availability ['Class'];
if ($ product && $ product-> exist ()):
?>
" data-row-id = "<? php echo $ item ['prod_id']?>">
<? php if ($ show_cb):?>
" name = "add_to_cart []" <? php echo (! $ product-> is_type ('simple') ) 'disabled = "disabled"': ''?> />
<? php endif?>
<? php if ($ is_user_owner):?>
<? php endif; ?>
">
<! - ЭТО ХОТИТЕ ИЗОБРАЖЕНИЕ УСПЕШНО ->
<? php echo $ product-> get_image ()?>
<? php echo apply_filters ('woocommerce_in_cartproduct_obj_title', $ product-> get_title (), $ product)?>
<? php do_action ('yith_wcwl_table_after_product_name', $ item); ?>
<? php / *?>
">get_title (), $ product)?> is_type ('variable')?$ product-> get_variation_regular_price ('max'): $ product-> get_price ();echo $ base_product?$ product-> get_price_html (): apply_filters ('yith_free_text', __ ('Free!', 'yith-woocommerce-wishlist'));?> '.__ («Нет в наличии», «Список желаний»).'': ' '.__ («На складе», «yith-woocommerce-wishlist»).'';?> '.sprintf (__ ('Добавлено в:% s', 'yith-woocommerce-wishlist'), date_i18n (get_option ('date_format'), strtotime ($ item ['dateadded']))).'';ENDIF;?>1 && $ move_to_another_wishlist && $ is_user_owner):?>
Перейти к доске
// echo sprintf ('% s -% s', $ wl_title, $ wl_privacy);
echo sprintf ('% s', $ wl_title);
?>
<? PHP
endforeach;
?>
<? php endif; ?>
<! - Удалить из списка желаний ->
<? php if ($ is_user_owner && $ repeat_remove_button):?>
" class="remove_from_wishlist button" title="<?php _e( 'Remove this product', 'yith-woocommerce-wishlist' ) ?>"> <? Php _e ('Удалить', 'yith-woocommerce-wishlist')?>
<? php endif; ?>
<? php endif; ?>
<? PHP
ENDIF;
endforeach;
еще:?>
" class = "wishlist-empty"> <? php echo apply_filters ('yith_wcwl_no_product_to_remove_message', __ ('На этой доске еще не было добавлено ни одного элемента', '' yith-woocommerce-wishlist '))?>
<? PHP
ENDIF;
if (! empty ($ page_links)):?>
"> <? php echo $ page_links?>
<? php endif?>
">
<? php if ($ show_cb):?>
<? php endif; ?>
<? php if ($ is_user_owner && $ show_ask_estimate_button && $ count> 0):?>
<? php endif; ?>
<? PHP
do_action ('yith_wcwl_before_wishlist_share', $ wishlist_meta);
if (is_user_logged_in () && $ is_user_owner &&! $ is_private && $ share_enabled) {
yith_wcwl_get_template ('share.php', $ share_atts);
}
do_action ('yith_wcwl_after_wishlist_share', $ wishlist_meta);
?>
<? php?>
<? php wp_nonce_field ('yith_wcwl_edit_wishlist_action', 'yith_wcwl_edit_wishlist'); ?>
<? php if (! $ is_default):?>
" name = "wishlist_id" id = "wishlist_id">
<? php endif; ?>
<? php do_action ('yith_wcwl_after_wishlist', $ wishlist_meta); ?>
<? php do_action ('yith_wcwl_after_wishlist_form', $ wishlist_meta); ?>
<? php if ($ show_ask_estimate_button && (! is_user_logged_in () || $ Additional_info)):?>
<? php endif; ?>
Я знаю, что этот скрипт нельзя скопировать напрямую, поскольку он просматривает переменные продукта, зная, через какой продукт он просматривается, мне нужно написать нечто подобное, которое будет выглядеть внутри списка желаний, а не внутри продукта.
Я думаю, что знаю, что мне нужно делать, я просто не знаю, как это сделать ...
Я пробовал простые вещи, которые, как я предсказывал, не сработают, даже не реализовав их. Попытка угадать шорткоды / поиск в Интернете для получения списка шорткодов. Всю помощь высоко ценят.
Спасибо, Джейсон.
РЕДАКТИРОВАТЬ: Попытка достичь этого с помощью 'simplehtmldom' ...
Я скачал и установил simplehtmldom, затем вызвал его в файл:
<?php
$simplehtmldom = get_template_directory() . "/simplehtmldom/simple_html_dom.php";
include_once($simplehtmldom);
?>
Затем попытайтесь найти изображение в списке желаний, собрав src первого продукта в этом списке желаний:
<?php
$boardlink = YITH_WCWL()->get_wishlist_url( 'view' . '/' . $wishlist['wishlist_token'] );
$html = file_get_html($boardlink);
$wishlistimage = $html->find('.attachment-woocommerce_thumbnail', 0)->src;
?>
Значение переменной $ boardlink было взято из href в разделе:
<a title="<?php echo $wishlist['wishlist_name'] ?>" class="wishlist-anchor" href="<?php echo YITH_WCWL()->get_wishlist_url( 'view' . '/' . $wishlist['wishlist_token'] ) ?>">
Так технически должно / могло бы работать ...
Однако я получаю ряд ошибок:
Предупреждение: file_get_contents (): сбой операции SSL с кодом 1. OpenSSL Сообщения об ошибках: ошибка: 14090086: процедуры SSL: ssl3_get_server_certificate: сбой проверки сертификата в / home / example / public_html / development / wp-content / themes / bolt / simplehtmldom / simple_html_dom.php в строке 136
Предупреждение: file_get_contents (): не удалось включить шифрование в /home/example/public_html/development/wp-content/themes/bolt/simplehtmldom/simple_html_dom.php в строке 136
Предупреждение: file_get_contents (https://development.example.com/my-materials/view/9OW01M6785H9/): не удалось открыть поток: сбой операции в /home/example/public_html/development/wp-content/themes/bolt/simplehtmldom/simple_html_dom.php в строке 136
Этот сайт не имеет действительного SSL, так как это всего лишь промежуточный сайт разработчика. Живой сайт имеет SSL.
Я думаю, что основная проблема в том, что списки желаний являются приватными для пользователя, я не думаю, что мы можем вычеркнуть эти страницы.
Спасибо, Джейсон.