WPのapply_filtersとadd_filterの説明が難解に書いているサイトが多い事に🤬。 #php #wordpress

2022.09.28

Logging

おはようございます、今月もそろそろ終わります🤔。

さて、来月から毎月一回しか投稿しなかったブログサイトを不定期更新に変更します。指針の変更にあたってブログデザインもデフォルトのテンプレートから無料のcocoonというテンプレートに変えました。

今までYOUTUBE動画URLを記載しているだけの投稿だったので、アイキャッチー画像等は無い状態でした。その為、テンプレートを変えるとノーイメージという画像が表示されるという事象が発生。これをプラグイン側で解決したかったのですが、独自の関数を多く使用しておりプラグイン側だけでは無理だということで、独自のアイキャッチー画像を処理しているコアの部分にapply_filtersを差し込み、プラグイン側でadd_filterで処理するという流れの対応を行いました。

apply_filtersというのはテンプレート側(他のプラグインでも可能)の関数の中に目印(付箋)を付けることが出来る機能(関数)です。
add_filterは目印(付箋)の部分の処理が走った時に、自分が作った処理を割り込ませることが出来る機能(関数)です。

※まずはカッコの中は読まずに理解してください😌。

巷では、これをややこしい例えで解説している所が多いのですが、それだけの話しです。今回、image-funcs.phpファイル(cocoon)の関数get_original_image_tagにapply_filtersを挿入し独自プラグインから呼び出して、ノーイメージの時にYOUTUBEのサムネイル画像を表示させるという事を行っていました。前、次ページのサムネイル画像は現在のページのサムネ画像が表示されるというバグはあるものの、ちゃんと跡のサムネ画像は変わっています。

サンプルコードを掲載します。ご参考程度に😌。

<?php
//オリジナルサムネイルタグの取得
if (!function_exists('get_original_image_tag')) :
  function get_original_image_tag($image_url, $width, $height, $class, $alt = null)
  {
    $html = '<img src="' . esc_url($image_url) . '" alt="' . esc_attr($alt) . '" class="' . esc_attr($class) . '" width="' . esc_attr($width) . '" height="' . esc_attr($height) . '" />';
    $html = convert_all_lazy_load_tag($html);
    $html = apply_filters("youtubeimage",$html);
    return $html;
  }
endif;
<?php
/*
Plugin Name: youtube image
Description: youtube image chg
Version: 1.0
*/
if (!defined('ABSPATH')) exit;
function youtubeimage_chg($imgurl){
    $url = null;
    if(preg_match("/(https:\/\/www\.youtube\.com\/watch\?v=[\-|_|a-zA-Z|0-9]{1,})/",get_the_content(),$matches)){
        $url = "https://img.youtube.com/vi/".preg_replace("/(https:\/\/www\.youtube\.com\/watch\?v=)/","",$matches[0])."/hqdefault.jpg";
        $url = preg_replace("/(src=\"https:\/\/.*no\-image\-[0-9]{2,3}\.png\")/","src=\"".$url."\"",$imgurl);
     }
     return $url?$url:$imgurl;
}

add_filter("youtubeimage","youtubeimage_chg");

余談:この対応はテンプレートが更新(アップデート)際にファイルが上書きされる可能性があります。その際にページが見えなくなるという問題を秘めています🙇。

タグ

Add, apply, cocoon, filter, filters, php, url, WordPress, wp, youtube, あい, イメージ, キャッチー, コア, こと, これ, サイト, デザイン, デフォルト, テンプレート, ノー, プラグイン, ブログ, , 不定期, , 事象, 今月, 使用, 処理, 動画, 変更, 多く, 対応, 投稿, 指針, 更新, 来月, 毎月, , 無料, 状態, 画像, 発生, 表示, 解決, 記載, 説明, 部分, 関数, 難解,

尺が短いものが好まれる時代、分かった気になる情報😇。

2022.08.04

Logging

おはようございます、Githubのマルウェアが気になって早朝に情報をチェックしていました。

さて、今の時代、尺が短いものが好まれる時代、分かった気になる情報が世の中に受け入れやすくなっているような気がします。敢えて分厚い本、難解な動画、長文のブログを読むという事をオススメします。短い情報をいろいろな所から収集するよりもニッチな専門家が情報発信しているものを読む方が大事になるじゃないかな。

短い情報は表面上、分かった気になるけど結局、ツマミ部分だけでそのつまみ食いばかりしても中身に到達できないという本末転倒なところがあるじゃないかと思います。なので、それとは反したものが大事じゃないかってね。

【綾部祐二】Interview-Day2(Day1~Day5)
結局のところ努力次第

今からYOUTUBERになろうとしている方でかなり専門知識を持ち合わせている方は短い動画を作るより、長くて上質な情報を流す方が良いじゃないかなって思います。それは殆どの人は見ないだろうけど価値の分かる人には届くと思います。

短いものは消費されて捨てられる可能性がある、それは一瞬の輝きでしか無い気がしてならないです。お手軽な消費されるものを作るよりかは独自性のあるものを作る方が良いと思います。

努力しないで得れるものはないだと思います。地味だけど毎日の勉強が大事です、いろいろな最短勉強方法が巷に溢れているけど、やる気と努力しか他ならないし手を動かしてたり行動して失敗したりして覚えるしか無いだよね。泥臭い事をしている人の方が社会を支えていたりするものです。

タグ

github, YOUTUBER, いろいろ, おすすめ, かなり, それ, チェック, ツマミ, つまみ食い, ところ, ニッチ, ブログ, マルウェア, もの, 上質, , , 中身, , , , 価値, , 到達, 努力, 動画, 収集, 大事, 専門, 専門家, , 情報, , , 早朝, 時代, , 本末転倒, 次第, 殆ど, , 発信, 知識, 結局, 表面, 部分, 長文, 難解,