.htaccessでPHPのファイルアップロードサイズの上限値を変更
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…

ワードプレスで記事を投稿する際に、まとめ記事や拡張記事などで過去記事を引用したい場合もあります。
既存の埋め込み機能を使う方法もありますが、思い通りの内容を表示したい場合は、再利用可能な「ブログカード」を用意するのが便利なので実装方法をメモ。
function func_blogcard($atts) {
$atts = shortcode_atts(array(
'url' => '',
), $atts, 'blogcard');
$url = $atts['url'];
$post_id = url_to_postid($url); //URLから投稿IDを取得
//タイトルを取得
$title = esc_html(get_the_title($post_id));
//抜粋文を取得
if(has_excerpt($post_id)) {
$excerpt = get_the_excerpt($post_id);
}else{
$excerpt = get_bloginfo('description');
}
$excerpt = esc_html($excerpt);
//アイキャッチ画像を取得
if(has_post_thumbnail($post_id)){
$img = wp_get_attachment_image_src(get_post_thumbnail_id($post_id), 'full');
$img_tag = '<img src="'.$img[0].'" alt="{$title}">';
}else{
$img_tag = '<img src="○○.jpg">'; //アイキャッチ画像がない場合の画像
}
// ブログカードの内容
$blogcardlink = '<div class="blogcard">
<a href="'.$url.'">
<figure class="blogcard__thumbnail">'.$img_tag.'</figure>
<dl class="blogcard__inner">
<dt class="blogcard__title">'.$title.'</dt>
<dd class="blogcard__excerpt">'.$excerpt.'</dd>
</dl>
</a>
</div>';
return $blogcardlink;
}
add_shortcode('blogcard', 'func_blogcard');
.blogcard a {
display: flex;
align-items: center;
padding: 1rem;
border: #ddd solid 1px;
}
.blogcard__thumbnail {
width: 33%;
margin: 0;
}
.blogcard__thumbnail img {
width: 100%;
height: auto;
margin: 0;
}
.blogcard__inner {
width: calc(67% - 1rem);
margin: 0 0 0 auto;
}
.blogcard__title {
margin: 0 0 0.5rem;
font-weight: bold;
}
.blogcard__excerpt {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
font-size: 0.8rem;
}
使用時はショートコードブロックに下記を記載
[blogcard url=https://○○]

2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…

2020.10.3
テキストエリア等で入力した文字の中にURLを含んでいた場合に、自動で認識してリンクタグを…

2024.03.30
外部ファイル(CSVファイル等)を読み込んでサイト内に表示する際に、保存時の文字コードが…

2020.12.5
メールフォームからメールを送信する際に、画像(ファイル)を添付できるようにしてほしいとの…

2023.12.2
ワードプレスの投稿のカテゴリー機能を、目的ごとに使い分けたいというご要望があった際に、カ…

2020.08.1
動画ファイルをCMS化して保存するときに、多くの場合はファイルパスをデータベース(MyS…

2022.09.24
パソコンやスマートフォンの戻るボタンを使って画面を戻す(ブラウザバックする)時があります…

2022.02.19
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…

2019.12.29
メールフォーム等での入力値チェック(バリデーション)。PHPの「preg_match」(…

2020.08.15
フォームの入力値やURLのパラメータ等、文字列や数値を受け取る際に正規表現を利用してバリ…