2017-05-16 19 views
0

はWoocommerceショップを設定していますので、商品名、タグ、属性。私はchildren functions.phpにコードを追加しました。フロントとメディアマネージャの両方で機能していたようでした。altタグとタイトルタグを手に入れました。Woocommerce:商品画像にカスタムaltタグとtitleタグを追加するコードは機能しますが、ブレーキ製品管理ページ

管理領域の商品ページを編集しようとするまで、途中で読み込まれ(メインのコンテンツボックスの下のセクション全体が表示されません)、追加された商品タグは表示されず、 :

致命的なエラー:ライン上のfunctions.phpにヌルのメンバ関数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知識はかなり限られている...)。

誰でも助けてくれますか、私は間違って何をしていますか、この作業を行うためにコードを修正する方法はありますか? ありがとう

+0

私はあなたが$製品の代わりに、$ポストを使用していると思います。 – inarilo

+0

"メンバー関数への呼び出しget_tags()on null"は、問題は '$ product'が製品オブジェクトではなくnull変数であることを示しています。 '$ product'は常にグローバルに設定されていると仮定することはできません。投稿IDから製品を入手する方が良いでしょう。 '$ product = wc_get_product($ post-> ID);' – helgatheviking

+0

皆さん、おかげさまで大変感謝しています。 – Anna

答えて

1

@helgatheviking私は昨日ccaを過ごしました。 10分は、私がコメントが技術的に答えではないことを認識するまで答えとしてあなたの提案を受け入れる方法を見つけることを試みる... stackoverflowを使用することを学ぶ。ここで

は、作業コードです:

// 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 = wc_get_product($post->ID); 
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; 
} 
関連する問題