은 Woocommerce shop을 설정하기 때문에 제품 제목, 태그 및 하나를 기준으로 사용자 정의 alt 및 title 태그를 제품 이미지에 추가하고 싶습니다. 속성. 나는 children functions.php에 코드를 추가했는데, 그것은 작동하는 것처럼 보였습니다. - 앞면과 미디어 매니저 모두에서 alt 태그와 title 태그를 얻었습니다. 모든 것이 정상적으로 보였습니다.Woocommerce : 제품 이미지에 사용자 정의 alt 및 title 태그를 추가하는 코드는 작동하지만 브레이크 제품 관리자 페이지
관리자 영역에서 제품 페이지를 편집하려고 시도하기 전까지 ... 중간 부분 만로드됩니다 (기본 콘텐츠 상자 아래의 전체 섹션이 누락 됨). 추가 된 제품 태그가 표시되지 않으며 제품 이미지에 표시됩니다. :
치명적인 오류 : 줄에 functions.php에 널 (null)의 멤버 함수 get_tags()에 전화 (112)
자식 functions.php에서 내 코드 ($ authortags 라인 (112)을 beeing는) :
// Change images alt and title tag
add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);
function change_attachement_image_attributes($attr, $attachment) {
global $post, $product;
if ($post->post_type == 'product') {
$title = $post->post_title;
$authortags = strip_tags ($product->get_tags());
$editor = $product->get_attribute('pa_szerkesztette');
$attr['alt'] = $title .' '. $authortags .' '. $editor;
$attr['title'] = $title .' '. $authortags .' '. $editor;
}
return $attr;
}
it 모든 제품 페이지에서 동일합니다. 나는 문제가 태그를 벗겨내는 것 같아요, 코드에서 그들을 얻기 위해 다른 방법을 찾아야하지만, 내가 시도한 것은 아무것도하지 못했습니다 (내 PHP 지식은 다소 제한적입니다 ...).
누구든지 나를 도울 수 있습니까? 내가 잘못하고 있습니다. 어떻게 코드를 수정하여이 작업을 할 수 있습니까? 감사합니다.
난 당신이 $ 제품 대신 $ 포스트를 사용하고 생각 : 여기
는 작업 코드입니다. – inarilo
"get_tags() null에 대한 멤버 함수 호출"은 '$ product'가 제품 객체가 아니라 null 변수임을 나타냅니다. '$ product'는 항상 전역 적으로 설정되어 있다고 가정 할 수 없습니다. 게시물 ID에서 제품을 가져 오는 것이 좋습니다. '$ product = wc_get_product ($ post-> ID);' – helgatheviking
두 사람 모두에게 큰 감사의 뜻으로 helgatheviking이 제안되었고 작동 중임에 따라 코드가 변경되었습니다. – Anna