2015-08-20 3 views
1

Я использую Woocommerce 2.4.4 и Wordpress 4,3, я прочитал много предложений для внесения изменений в страницу магазина woocommerce; однако я не могу найти никого, кто обращается к моей конкретной просьбе. У меня ограниченное понимание Woocommerce; однако я пытался решить мою просьбу, но безуспешно.Как добавить заголовок изображения Wordpress в страницу продукта (магазина) woocommerce, но не на страницу одного продукта

Я хочу отобразить поле заголовка wordpress для каждого изображения в медиатеке wordpress на моей странице магазина woocommerce, но не на отдельных продуктах.

Я внес изменения в тему моего ребенка, Deli (тема woocommerce) functions.php. Я добавил следующее к child functions.php.

function wp_get_attachment($attachment_id) { 

$attachment = get_post($attachment_id); 
return array(
    'alt' => get_post_meta($attachment->ID, '_wp_attachment_image_alt', 

true), 
    **'caption' => $attachment->post_excerpt,** 
    'description' => $attachment->post_content, 
    'href' => get_permalink($attachment->ID), 
    'src' => $attachment->guid, 
    'title' => $attachment->post_title 
); 
} 

Я считаю, что поле, которое имеет заголовок изображения является «подписью» => $ привязанность> post_excerpt, как определенно выше.

Я пытаюсь редактировать Woocommerce Archive-product.php, но не знаю, что добавить или где его добавить в archive-product.php.

ответ

1

Эй, согласно вашему требованию, вы пробовали код, который может помочь вам в вашем случае, или вы можете настроить его в соответствии с вашим запросом.

Добавьте следующий код к функциям вашей функции.php.

Примечание: Лучше сначала создать дочернюю тему и выполнить свою настройку, чтобы настройка не была перезаписана при обновлении темы.

add_filter('wp_get_attachment_image_attributes','wdm_shop_image_caption_func', 10,3); 
function wdm_shop_image_caption_func($attr, $attachment, $size){ 
    if($size=='shop_single'){ 
    unset($attr['title']); 
    } 
    elseif($size=='shop_catalog'){ 
    $attr['title']=$attr['alt']; 
    } 
    return $attr; 
} 

enter image description here

Убедитесь, что вы установили Caption для изображений каждого продукта.

enter image description here

+0

Я меняю свой подход, потому что у меня было так много проблем, пытаясь изменить магазин страницу WooCommerce. – sally

+0

Мой новый подход заключается в том, чтобы изменить мой child.php и получить метаданные изображения оттуда и отобразить изображение с метаданными (для которых изображение очень важно для меня. – sally

+0

Как боковое подтверждение, я использую Divi тема, и ее реализация Carousel автоматически отображает заголовок.Таким образом, вместо того, чтобы отображать страницу архива, у меня просто есть настраиваемая страница, отображающая карусель. Я добавил html для ссылки кнопки «Купить сейчас» в конце текста субтитров , и это просто ссылки на страницу одного продукта. Работает так же, как @WisdmLabs. – scott8035

Смежные вопросы