WordPress Lab

「添付ファイルをダウンロードしてインポート」で成功したことがなければ試したいプラグイン

2022年2月4日 金曜日

WordPressで元サイトからエクスポートしてきたXMLをインポートするときに、

 

添付ファイルのインポート】添付ファイルをダウンロードしてインポートする

 

をチェックして実行したら、直感的に元サイトのメディア(uploads)から勝手に画像も移し入れてくれるイメージなのですが、やり方がどう間違ってるのか、そんなことが成功した試しがありません。
正しい解釈や方法をご存知なかたは是非おしえてください。

 

しかし、プラグイン「DeMomentosTres Export」をインストールして、エクスポートされたXMLのインポートではこの直感的なイメージどおりのメディアの移し入れが可能になります。

 

とくに通常のエクスポート&インポートでは、アイキャッチ設定やカスタムフィールドで挿入された画像はほとんど持ってこれないのですが、DeMomentosTres Exportでは、それももれなく可能でした。

 

ただ引っ越しするデータが多い(XMLのサイズが大きい)とインポート中にタイムアウトを連発します。
サーバーで、memory_limit や post_max_size や upload_max_filesize やmax_execution_timeを調整し、カテゴリーごとや期間を細かくしてXMLを作ることをおすすめします。

 

それでもタイムアウトすることがありますが、それでも少しずつでも、投稿データや画像は移されてるので、地道にインポートをやりなおせば、私どもの案件では完了にいたりました。

 

とくに特定のカテゴリーのみの引っ越しなどでは非常に有効で便利だと思います。

 

(注意) DeMomentosTres Exportは2020年2月現在、一応”WordPress の最新3回のメジャーリリースに対してテストされていないプラグイン”になっていますので、ご利用の際はそれをふまえた上でご利用ください。便利なのでアップデートが継続されるといいですね。

 

 

WordPress高速化を理由にメディアの画像をwebp変換したり、不要な画像を削除するときは慎重に

2022年1月25日 火曜日

WordPressを使ったお客様の案件で、プラグイン EWWW Image Optimizerを使ってjpgをwebpに変換したのが原因なのか、カスタムフィールド(Advanced Custum Fields)のGalleryで挿入した画像が表示されなくなりました。
新規サイトではどうかわかりませんが、運用が長く、投稿も多いサイト、カスタムフィールドを多用しているサイトにあとから導入するのは慎重になさるほうがいいかもしれません。

過去に同じサイトで、プラグイン Media CleanerのようなWordPress の投稿に紐付かなくなった画像を一括削除するプラグインを実行して、カスタムフィールドで挿入された画像を一掃してしまい、真っ青になりました。
通常の画像と投稿の紐付けに関するデータとカスタムフィールドで挿入した画像と投稿の紐付けに関するデータの保管場所が違うからのようです。
こちらも慎重になさったほうがいいかもしれません。

まずは必ずバックアップをしておくこと。
喪失や非表示になった画像は、私どもの場合はプラグイン Enable Media Replace を導入してひとつずつ同じ画像で上書きして修正して復元しましたが、それも多ければ多いほど大変になります。

Woocommerceの”shop”は、”page-shop.php” のテンプレートは受け付けてくれない

2021年5月28日 金曜日

Woocommerceを専用ではないテーマで使用するとき、そのトップになるページをすべての商品の一覧ではなく
テンプレートを挿し込んで、異なる見た目のページにしたいときですが、管理画面の固定ページにショップ(shop)というものができているので
page-shop.php を挿し込めばよいのかと思うと、これが使えないんですよね。
スラッグとは無関係に、見えているのは archive-product.php というテンプレートで表示されています。

これを可能にするのは、archive-product.php の先頭で

<?php
if (is_shop()) {
get_template_part( 'content', 'shop' );
} else {

get_header( 'shop' );

(archive-product.php の通常のコード)

};?>

と変えることで、content-shop.php をトップになるページのテンプレートとして使えるようになります。

Polylangをアップデートして全言語共通にしていたACF Galleryが機能不全になったら

2020年10月31日 土曜日

弊社でWordPressにプラグインPolylangを使って制作した商品紹介の多言語サイトでは、商品の写真や商品番号、価格(単位は日本円に統一)など全言語に共通するカスタムフィールドと、説明文などそれぞれの言語で表現すべき部分のカスタムフィールドをページ上で共存させる作り方をしていて、カスタムフィールドの設置にはプラグインAdvanced Custum fieldsを、商品写真のフィールドには関連のACF Galleryを使っています。

 

共通部分に記載したものやアップした写真や画像はデフォルト言語(弊社のサイトでは日本語)で一度アップすればどの編集ページでも入力済みの状態になっていますが、Polylangの2.8アップデートで、共通部分のACF Galleryが、デフォルト言語以外の編集ページではフィールドが空っぽになり、出力されたページにもギャラリーが表示されない事態となりました。

 

おそらく同じような使い方でこの事態に困ってググってここに来られたかたが読まれる可能性が高いと思いますので結論の対処から申しますと、

管理画面の「言語」→「設定」の「メディア メディアテキストの言語と翻訳を有効にする」を無効化にすることで、正常化します。

 

ここが有効化されていると、メディアにアップロードする画像も言語ごとに画像の説明(altなど)を管理できるようになるもので、Polylangの2.8アップデートまではどうも曖昧にされていたのが厳密になったようで、Galleryも当然言語ごとであるべきと解釈されるようになったみたいです。

ですから、全言語で共通の画像を使うのなら、必然この分類する機能を使わないでおく必要があるわけです。

【Woocommerce】特定の商品カテゴリーの子カテゴリーインデックスに表示する分岐

2019年6月21日 金曜日

親の商品カテゴリーをIDで指定します。

<?php if( has_term( get_terms(
array(
 'child_of' => 商品親カテゴリーID,
 'taxonomy' => 'product_cat',
 'fields' => 'names' ) ),
 'product_cat' )): ?>
・・・
<?php endif; ?>

 

ページトップへ