オリジナル技術
# handsome # コード # コードライフ

イケメンアルバム記事の画像説明削除

1,382 語3 分52 閲覧数0 いいね

概要

この記事では、イケメンテーマのアルバム記事の画像説明文を削除する方法を紹介します。ユーザーが写真をアップロードすると、その写真に説明情報が含まれていることがわかり、閲覧エクスペリエンスに影響を与えます。テーマディレクトリ内のTypePost.phpファイルを修正し、該当するコードを置き換え、画像のalt属性を削除することで、アルバムページに説明を省略して画像のみが表示されます。この操作は簡単で効果的です。元のファイルをバックアップすることをお勧めします。修正後、画像表示がより簡潔になり、視覚的な問題が解決されました。

理由は、イケメンテーマのフォトアルバムページにフォトアルバムをアップロードしようとしたところ、一部の問題を除いて、アップロードした写真はすべて説明文があり、目が非常に不快だったからです

修正前

请输入图片描述

変更済み

请输入图片描述

ついに私の目を救った

修正方法

ディレクトリ /usr/themes/handsome/libs/content/

を開きます

<?php
/**
 * 多种不同的文章内容,目前支持相册和普通文章两种,有计划支持视频类型
 */

class TypePost{

    /**
     * @param $content
     * @param $obj
     * @return string
     */
    public static function postImagePost($content, $obj)
    {
        if ($obj->hidden === true) {//输入密码访问
            return $content;
        } else {
            return TypePost::parseContentToImage($content, "album");
        }
    }

    /**
     * 解析文章内容为图片列表(相册)
     * @param $content
     * @param $type
     * @return string
     */
    public static function parseContentToImage($content, $type)
    {
        preg_match_all('/<img.*?src="(.*?)"(.*?)(alt="(.*?)")??(.*?)\/?>/', $content, $matches);

        if (is_array($matches) && count($matches[0]) > 0) {

            $html = "";
            if ($type === "photos") {//自适应拉伸的
                $html .= "<div class='album-photos'>";
            } else {//统一宽度排列
                $html .= "<div class='photos'>";
            }
            for ($i = 0; $i < count($matches[0]); $i++) {
                $info = trim($matches[5][$i]);
                preg_match('/alt="(.*?)"/', $info, $info);
                if (is_array($info) && count($info) >= 2) {
                    $info = @$info[1];
                } else {
                    $info = "";
                }
                if ($type == "photos") {
                    $html .= <<<EOF
<figure>
        {$matches[0][$i]}
</figure>
EOF;
                } else {
                    $html .= <<<EOF
<figure class="image-thumb" itemprop="associatedMedia" itemscope="" itemtype="http://schema.org/ImageObject">
          {$matches[0][$i]}
      </figure>
EOF;
                }
            }

            $html .= "</div>";

            return $html;
        } else {
            //解析失败,就不解析,交给前端进行解析,还原之前的短代码
            $type = ($type == "photos") ? ' type="photos"' : "";
            return "<div class='album_block'>\n\n[album" . $type . "]\n" . $content . "[/album] </div>";
        }
    }
}
コメントを読み込み中…
関連記事

関連記事