投稿内容から画像を取り除く方法

フォーラム テンプレート(テーマ) 投稿内容から画像を取り除く方法

  • このトピックには2件の返信、2人の参加者があり、最後にMoskoにより14年前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #50004
    Mosko
    参加者

    Welcartを導入させていただきましたが、テーマを「Welcartのdefault themeではないもの」に設定している状況です。(autofocusというテーマ)

    こちらのテーマ、function.php の中に remove_first_image という記述があって、投稿内の1枚目の画像を、投稿内容(content)から取り除く仕掛けになっています。

    (1枚目の写真を、投稿タイトルより上側に現れるよう、別に指定しているためです。)

    function remove_first_image ($content) {

    if (!is_page() && !is_feed() && !is_feed()) {

    $content = preg_replace(‘/^<p><img(.*?)>/i’, “<p>”, $content, 1);

    $content = preg_replace(‘/^<img(.*?)>/i’, “”, $content, 1);

    $content = preg_replace(‘/^<p><a(.*?)><img(.*?)></a>/i’, ‘<p>’, $content);

    $content = preg_replace(‘/^<a(.*?)><img(.*?)></a>/i’, ‘<p>’, $content);

    } return $content;

    }

    add_filter(‘the_content’, ‘remove_first_image’);

    Welcartのシステムの中で、新規投稿(商品追加)を行った場合、こちらの設定が反映されないため、画像が2重に出てきてしまいます。

    Welcart内で行なった投稿にこのような設定を反映させるためには、どのようにすればよろしいでしょうか?

    どうぞ お力添えをよろしくお願いいたします。

    #60516
    nanbu
    キーマスター

    こんにちは。

    お使いのテーマはかなり特殊なもののようですね。カスタマイズが大変そうですが頑張ってください。

    remove_first_image は、記事の最初(位置的に)に挿入した画像を消しているようです。Welcart のメイン画像はソースコードの冒頭ではありませんので、このフィルターフックでは削除できません。

    Welcart のsingle_item.php を直接修正するか、下記のコードをテーマ内のfunctions.php に追加してみてください。

    function usces_filter_the_itemImage ($content) {
    return "";
    }
    add_filter('usces_filter_the_itemImage', 'usces_filter_the_itemImage');

    後はCSSで調整します。

    #60517
    Mosko
    参加者

    nanbuさん

    ご連絡が遅れましたが、アドバイスを下さいましてありがとうございました。

    早速、usces_filter_the_itemImage のコードをテーマ内の function.php に追加してみましたが、うまくいかなかったようです。single_item.php の修正は、四苦八苦しながらも何とかやってきましたが、今回は力量不足で自力では解決できそうもない状況です。

    (この特殊なコードを反映させて画像を表示させたかった理由として、iPhone等のスマートフォンでの表示上の都合もありました。)

    この問題、棚上にするのは悔しいですが、もう一つ、別のテーマでの運用を推す声もありましたので、そちらでもう一度、懲りずにカスタマイズに挑戦してみたいと思います。

    Welcart、すばらしいです。ありがとうございます。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。