エンジニアリング

WordPressのショッピングプラグインwelcartの請求書にブログ名が出力されるのを外した

最近ちょこちょこ Welcart というWordpressのプラグインでショッピングサイトの作成しているのですが、これで謎の現象が起きたのでそのTipsを書きました。

何故ショップ名が2回出ているのだ・・・・・?

スクリーンショット 2017-06-03 12.03.05

画像の通り、何故か納品書や請求書などのpdf出力部分に店舗名が重複表示されている・・・・・何故だ・・・・意味がわからない

調べてみた

/usc-e-shop/includes/order_print.php Line650付近

[php]
// My company
if( !empty($sign_image) ){
$sign_data = apply_filters( ‘usces_filter_pdf_sign_data’, array(140, 40, 25, 25));
$pdf->Image($sign_image, $sign_data[0], $sign_data, $sign_data, $sign_data);
}
$x = 110;
$y = 45;
$pdf->SetLeftMargin($x);
list($fontsize, $lineheight, $linetop) = usces_set_font_size(9);
$pdf->SetFont($font, ”, $fontsize);
$pdf->SetXY($x, $y);
$pdf->MultiCell(60, $lineheight, usces_conv_euc(apply_filters(‘usces_filter_publisher’, get_option(‘blogname’))), 0, ‘L’); //1.→ここでブログ名だしていて
list($fontsize, $lineheight, $linetop) = usces_set_font_size(8);
$pdf->SetFont($font, ”, $fontsize);
$pdf->MultiCell(60, $lineheight, usces_conv_euc(apply_filters(‘usces_filter_pdf_mycompany’, $usces->options[‘company_name’])), 0, ‘L’); //2.ここでショップの会社名を出している
[/php]

つまりwordpressのブログ名とwelcart上での会社名が同じ名前だと2つ同じ文字が出ている状態になるというわけだ
きっと、ブログ名とショップ名が違う(ある企業が複数のショップを抱えている)といった構造になっている場合を想定してこんな感じにしているのだと推測!

対応方法

片方出力しないようにすれば良いわけなのでhookして対応することにする

fuction.php

[php]
//ブログ名を消す
add_filter(‘usces_filter_publisher’, ‘delete_shop_infomation’, 10, 3);
function delete_shop_infomation() {

return “”; //空文字を返す
}
[/php]

請求書

無事1つのみ表示となりました

最後に・・・・

welcartは本当に汎用性が高くて色々やりたい事がカスタマイズで出来る反面、この手のことをイジれないとすれば他のカートシステム使ったほうが良いと思う・・・・ま、元はブログシステムだしね!