<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>仕事 アーカイブ - 日本生まれ中国育ち沖縄移住パパのブログ</title>
	<atom:link href="https://okipapa.okinawa/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>https://okipapa.okinawa/category/work/</link>
	<description>沖縄に移住して子供と思いっきり遊ぶSE生活</description>
	<lastBuildDate>Mon, 15 Dec 2025 04:42:11 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>[推奨版]メールの送信失敗を通知！WordPressのメール送信エラーをSlackで即座に見逃さない！「Fail2Notify」のSlack連携設定ガイド</title>
		<link>https://okipapa.okinawa/369/</link>
					<comments>https://okipapa.okinawa/369/#comments</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Fri, 12 Dec 2025 06:27:46 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=369</guid>

					<description><![CDATA[<p>[推奨版] Slack連携で「非推奨」を回避！Fail2Notifyの正しい設定手順【2025年最新】 以前、WordPressのメール送信エラーをSlackに通知するプラグイン「Fail2Notify」の設定方法を紹介 [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/369/">[推奨版]メールの送信失敗を通知！WordPressのメール送信エラーをSlackで即座に見逃さない！「Fail2Notify」のSlack連携設定ガイド</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><span id="toc1">[推奨版] Slack連携で「非推奨」を回避！Fail2Notifyの正しい設定手順【2025年最新】</span></h2>



<p>以前、WordPressのメール送信エラーをSlackに通知するプラグイン「Fail2Notify」の設定方法を紹介しましたが、実は<strong>当時のやり方（Incoming Webhooksアプリ）は現在「非推奨（Legacy）」扱い</strong>になっています。 現時点でも動いてはいますが、Slack公式としては<strong>「Slackアプリを作って、そこからWebhookを発行する」</strong>という新しい方式を推奨しています。</p>



<p>今回は、将来的な廃止リスクを避けるためにも、<strong>Slack公式推奨の手順</strong>でWebhook URLを取得し、Fail2Notifyと連携する方法を解説します。</p>



<h3 class="wp-block-heading"><span id="toc2">設定手順：Slackアプリを作成する</span></h3>



<p>難しそうに見えますが、やることは「アプリのガワを作ってスイッチをONにする」だけ。3分で終わります。</p>



<h4 class="wp-block-heading"><span id="toc3">1. アプリ管理画面へアクセス</span></h4>



<p>まずはブラウザでSlackのAPI管理画面を開きます。</p>



<p><a rel="noopener" href="https://api.slack.com/apps" target="_blank">👉 https://api.slack.com/apps</a></p>



<p>画面右上にある<strong>[Create New App]</strong>ボタンをクリックし、出てきたポップアップで<strong>[From scratch]</strong>（最初から作る）を選びます。
<br><br>
 <img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-372" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-131725-300x204.png" alt="" width="300" height="204" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-131725-300x204.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-131725.png 526w" sizes="(max-width: 300px) 100vw, 300px" /></p>



<h4 class="wp-block-heading"><span id="toc4">2. アプリ名と送信先を決める</span></h4>



<p>設定画面が出るので、以下のように入力して<strong>[Create App]</strong>を押します。</p>



<ul class="wp-block-list">
<li><strong>App Name</strong>：<code>Fail2Notify</code>（ここに入力した名前で通知が届きます）</li>
<li><strong>Pick a workspace&#8230;</strong>：通知を送りたいSlackワークスペースを選択</li>
</ul>
<p><img decoding="async" class="alignnone size-medium wp-image-370" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132154-300x286.png" alt="" width="300" height="286" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132154-300x286.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132154.png 526w" sizes="(max-width: 300px) 100vw, 300px" /></p>



<h4 class="wp-block-heading"><span id="toc5">3. Webhook機能をONにする</span></h4>



<p>アプリの管理画面（Basic Information）に入れたら、左メニューの<strong>[Incoming Webhooks]</strong>をクリック。 そして、<strong>[Activate Incoming Webhooks]</strong>のスイッチをパチっと<strong>On</strong>にします。 <img decoding="async" class="alignnone size-medium wp-image-374" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132225-300x206.png" alt="" width="300" height="206" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132225-300x206.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132225-1024x704.png 1024w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132225-768x528.png 768w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-132225.png 1054w" sizes="(max-width: 300px) 100vw, 300px" /></p>



<h4 class="wp-block-heading"><span id="toc6">4. URLを発行する</span></h4>



<p>スイッチを入れると画面下に項目が増えるので、一番下の<strong>[Add New Webhook to Workspace]</strong>ボタンをクリック。</p>



<p>「どのチャンネルに投稿しますか？」と聞かれるので、通知先のチャンネル（例：<code>#general</code>）を選んで<strong>[許可する]</strong>を押してください。</p>



<h4 class="wp-block-heading"><span id="toc7">5. URLをプラグインに登録</span></h4>



<p>元の画面に戻ると、表の中にWebhook URL（<code>https://hooks.slack.com/...</code>）が発行されています。 これをコピーして、WordPress側の設定画面に貼り付ければ完了です！ <img loading="lazy" decoding="async" class="alignnone size-medium wp-image-371" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-133713-300x82.png" alt="" width="300" height="82" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-133713-300x82.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/スクリーンショット-2025-12-12-133713.png 491w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>



<h3 class="wp-block-heading"><span id="toc8">まとめ：これでもう「非推奨」に怯えない</span></h3>



<p>というわけで、Fail2NotifyのSlack通知を推奨手順で設定し直す方法でした。</p>
<p>投稿 <a href="https://okipapa.okinawa/369/">[推奨版]メールの送信失敗を通知！WordPressのメール送信エラーをSlackで即座に見逃さない！「Fail2Notify」のSlack連携設定ガイド</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/369/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>アリババクラウド Simple Application Server で WordPress を安全に運用する方法</title>
		<link>https://okipapa.okinawa/367/</link>
					<comments>https://okipapa.okinawa/367/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Fri, 12 Dec 2025 00:52:49 +0000</pubDate>
				<category><![CDATA[中国]]></category>
		<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=367</guid>

					<description><![CDATA[<p>Simple Application Server（SAS）とは？ アリババクラウドの Simple Application Server（以下 SAS）は、 いわゆる「VPS（仮想専用サーバー）」の操作を簡単にしたサー [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/367/">アリババクラウド Simple Application Server で WordPress を安全に運用する方法</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<br />
<section>
<h2><span id="toc1">Simple Application Server（SAS）とは？</span></h2>
<p>
      アリババクラウドの Simple Application Server（以下 SAS）は、<br />
      いわゆる「VPS（仮想専用サーバー）」の操作を簡単にしたサービスです。
    </p>
<ul>
<li>WordPress などがプリインストールされたイメージを選ぶだけでサーバー構築が完了</li>
<li>スナップショットやバックアップ機能が標準で用意されている</li>
<li>個人開発〜中小規模サイトにちょうど良いスペック感</li>
</ul>
<p>
      「レンタルサーバーより自由度が欲しいけど、ガチなクラウド構築は面倒」という人に向いているサービスです。
    </p>
</section>
<section>
<h2><span id="toc2">WordPress 用にどの OS / イメージを選ぶべきか</span></h2>
<p>
      SAS では、サーバー作成時に以下のようなイメージを選べます。
    </p>
<ul>
<li>WordPress プリインストールイメージ</li>
<li>LAMP / LEMP スタック（Linux + Apache/Nginx + PHP + MySQL）</li>
<li>素の Linux（Ubuntu / AlmaLinux など）</li>
</ul>
<h3><span id="toc3">迷ったら「WordPress イメージ」か「LAMP イメージ」</span></h3>
<p>
      サーバーにあまり慣れていない場合は、<br />
      <strong>WordPress プリインストールイメージ</strong>が最も手軽です。
    </p>
<p>
      ある程度 Linux に慣れていて、<br />
      「自分で PHP のバージョンや設定を細かく管理したい」という場合は<br />
      <strong>LAMP/LEMP イメージ</strong>を選び、<br />
      手動で WordPress をインストールする構成もおすすめです。
    </p>
<h3><span id="toc4">OS 選びのポイント</span></h3>
<ul>
<li>長期サポート（LTS）が提供されている OS を選ぶ</li>
<li>ネット上の情報量が多い OS（Ubuntu など）はトラブルシューティングが楽</li>
<li>既に他案件で使っている OS に揃えると運用コストが下がる</li>
</ul>
</section>
<section>
<h2><span id="toc5">スペック選び：どのくらいのプランが妥当？</span></h2>
<p>
      一般的な中小規模のコーポレートサイトやブログであれば、<br />
      例えば次のようなプランからスタートすれば十分です。
    </p>
<ul>
<li>vCPU：1〜2コア</li>
<li>メモリ：1〜2GB</li>
<li>ディスク：40〜60GB 以上</li>
<li>帯域幅：1〜3Mbps 程度（アクセスが増えたら見直す）</li>
</ul>
<p>
      トラフィックが増えてきたら、<br />
      <strong>プランを一段階上げる・CDN を併用する</strong>など段階的に強化していくのが現実的です。
    </p>
</section>
<section>
<h2><span id="toc6">セキュリティまわりの注意点</span></h2>
<h3><span id="toc7">1. ポートとファイアウォールの設定</span></h3>
<p>
      SAS では、サーバー側のファイアウォール設定と、<br />
      アリババクラウド側のセキュリティグループ設定の両方を確認する必要があります。
    </p>
<ul>
<li>80番（HTTP）と443番（HTTPS）は一般公開</li>
<li>22番（SSH）は「自分のIPのみ許可」などに絞ると安全</li>
<li>不要なポートは閉じておく</li>
</ul>
<h3><span id="toc8">2. SSH ログインまわり</span></h3>
<ul>
<li>パスワードログインではなく、できれば SSH 鍵認証にする</li>
<li>root 直ログインを避け、一般ユーザー + sudo で運用する</li>
<li>Fail2ban などのツールで不正ログインをブロックするのも有効</li>
</ul>
<h3><span id="toc9">3. ウイルス・マルウェア対策</span></h3>
<p>
      SAS 自体にはいわゆる「レンタルサーバーのようなウイルススキャン」は基本的にありません。<br />
      必要に応じて以下のような対策を検討します。
    </p>
<ul>
<li>WordPress 側でセキュリティプラグイン（例：Wordfence など）を導入</li>
<li>Web アプリケーションファイアウォール（WAF）を使う</li>
<li>Cloudflare など外部サービスでレイヤー7の防御を追加する</li>
</ul>
</section>
<section>
<h2><span id="toc10">バックアップとスナップショット運用</span></h2>
<p>
      WordPress を安全に運用するうえで、バックアップは必須です。<br />
      SAS ではスナップショット機能が提供されているため、以下のような構成がおすすめです。
    </p>
<ul>
<li>サーバー全体：SAS のスナップショットを定期取得</li>
<li>サイト単位：WordPress プラグイン（UpdraftPlus 等）で S3 互換ストレージにバックアップ</li>
</ul>
<p>
      「大きなアップデートやプラグイン追加の前にスナップショットを1つ切っておく」<br />
      という運用にしておくと、何かあってもすぐロールバックできます。
    </p>
</section>
<section>
<h2><span id="toc11">中国向け配信を考える場合のポイント</span></h2>
<p>
      SAS は海外リージョンと中国本土リージョンの両方があります。<br />
      中国向けの表示速度を重視するなら、リージョン選びと ICP まわりの理解が重要です。
    </p>
<ul>
<li>中国本土リージョン + ICP備案 + CDN → 高速だが手続きが多い</li>
<li>香港 / シンガポールなど + 国際回線 → 手続きは楽だが、速度はそこそこ</li>
</ul>
<p>
      「とりあえず中国からも見えるようにしたい」という段階なら、<br />
      まずは香港・シンガポールリージョン + CDN から始め、<br />
      本格的に中国マーケットを狙う段階で ICP や本土リージョンを検討する流れが多いです。
    </p>
</section>
<section>
<h2><span id="toc12">まとめ：SAS は「ちょっと本気の WordPress」にちょうど良い</span></h2>
<p>
      アリババクラウドの Simple Application Server は、<br />
      レンタルサーバー以上・ガチクラウド未満というポジションで、<br />
      個人開発者や中小企業の WordPress サイトにとても相性の良いサービスです。
    </p>
<p>
      OS やイメージ選び、セキュリティ、バックアップ、リージョンの考え方を押さえておけば、<br />
      「安いのにしっかりした運用」が可能になります。
    </p>
<p>
      すでに別環境で WordPress を動かしている人も、<br />
      次の案件や中国向けサイト用に SAS を検討してみる価値は十分あります。
    </p>
</section>
<p>投稿 <a href="https://okipapa.okinawa/367/">アリババクラウド Simple Application Server で WordPress を安全に運用する方法</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/367/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress で更新通知（アップデート通知）を非表示にする安全な方法まとめ</title>
		<link>https://okipapa.okinawa/363/</link>
					<comments>https://okipapa.okinawa/363/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Thu, 11 Dec 2025 00:51:46 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=363</guid>

					<description><![CDATA[<p>なぜ更新通知を「非表示」にしたくなるのか WordPress はセキュリティと機能改善のために、コア本体・テーマ・プラグインの アップデート通知を自動的に表示します。 しかし、次のようなケースでは「一部、もしくは一時的に [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/363/">WordPress で更新通知（アップデート通知）を非表示にする安全な方法まとめ</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<section>
<h2><span id="toc1">なぜ更新通知を「非表示」にしたくなるのか</span></h2>
<p>
      WordPress はセキュリティと機能改善のために、コア本体・テーマ・プラグインの<br />
      <strong>アップデート通知</strong>を自動的に表示します。
    </p>
<p>
      しかし、次のようなケースでは「一部、もしくは一時的に」非表示にしたくなることがあります。
    </p>
<ul>
<li>クライアント向け管理画面で、更新通知を見せたくない</li>
<li>ステージング環境だけ通知を消してスッキリさせたい</li>
<li>更新の判断は自分（開発者）が行うため、他の人に混乱させたくない</li>
</ul>
<p>
      この記事では、<strong>functions.php に数行追加するだけ</strong>でできる<br />
      「更新通知の非表示」テクニックと、やってはいけない注意点を整理します。
    </p>
</section>
<section>
<h2><span id="toc2">大前提：アップデート通知を消すリスク</span></h2>
<p>
      まず最初に大事なポイントです。<br />
      <strong>アップデート通知を「完全に無効化して放置」するのは危険</strong>です。
    </p>
<ul>
<li>重大なセキュリティ更新に気づけない</li>
<li>脆弱性情報が公開されているのにバージョンが古いままになる</li>
<li>プラグインの互換性問題が長く続く</li>
</ul>
<p>
      そのため、本番サイトでは<br />
      <strong>「運用ルールが決まっている場合」または「期間限定」</strong>での利用をおすすめします。<br />
      ステージング環境や検証環境などに使うのは比較的安全です。
    </p>
</section>
<section>
<h2><span id="toc3">方法①：更新チェック自体を止める（コア・プラグイン・テーマ）</span></h2>
<p>
      もっともスッキリするのは、WordPress が内部で行っている<br />
      「更新チェック」自体を止めてしまう方法です。<br />
      子テーマの <code>functions.php</code> に次のコードを追加します。
    </p>
<pre><code class="language-php">&lt;?php
// コア・プラグイン・テーマの更新チェックを無効化
add_filter( 'pre_site_transient_update_core', '__return_null' );
add_filter( 'pre_site_transient_update_plugins', '__return_null' );
add_filter( 'pre_site_transient_update_themes', '__return_null' );
</code></pre>
<p>
      このコードを追加すると、WordPress は「更新情報を取得済み」とみなし、<br />
      更新通知バッジやダッシュボードの「いますぐ更新してください」といった表示が出なくなります。
    </p>
<h3><span id="toc4">この方法のメリット</span></h3>
<ul>
<li>通知だけでなく、内部的な更新チェックも止まるため、管理画面がかなりスッキリする</li>
<li>テスト環境やローカル環境で使うと、余計なリクエストを減らせる</li>
</ul>
<h3><span id="toc5">この方法のデメリット</span></h3>
<ul>
<li>本当に更新があるのかどうか、一切わからなくなる</li>
<li>手動で更新状況を確認したいときは、一時的にこのコードをコメントアウトする必要がある</li>
</ul>
</section>
<section>
<h2><span id="toc6">方法②：ダッシュボードの「更新」メニューだけを隠す</span></h2>
<p>
      「更新チェックは残しておきたいけど、<strong>クライアントには見せたくない</strong>」<br />
      という場合は、管理画面のメニューやバッジだけを隠す方法が便利です。
    </p>
<p>次のコードを <code>functions.php</code> に追加します。</p>
<pre><code class="language-php">&lt;?php
// ダッシュボードの「更新」メニューを隠す
function my_hide_update_menu() {
    remove_submenu_page( 'index.php', 'update-core.php' );
}
add_action( 'admin_menu', 'my_hide_update_menu', 999 );
</code></pre>
<p>
      これにより、サイドバーの「ダッシュボード &gt; 更新」メニューが非表示になります。<br />
      更新バッジ自体は表示されるため、<br />
      <strong>「技術者だけがアップデートを把握しておきたい」</strong>といった運用に向きます。
    </p>
</section>
<section>
<h2><span id="toc7">方法③：バッジや通知だけ CSS で隠す（応急処置）</span></h2>
<p>
      どうしてもコードを触りたくない場合は、管理画面に CSS を追加して<br />
      バッジだけを隠す応急処置もあります。
    </p>
<p>管理画面用のカスタム CSS を読み込んで、例えば次のように書きます。</p>
<pre><code class="language-css">/* サイドバーの更新バッジを非表示 */
#menu-dashboard .update-plugins,
#menu-plugins .update-plugins,
#menu-appearance .update-plugins {
    display: none !important;
}
</code></pre>
<p>
      これはあくまで <strong>見た目だけ隠しているだけ</strong>であり、根本的な制御ではありません。<br />
      一時的な対応としてはアリですが、長期運用にはあまりおすすめしません。
    </p>
</section>
<section>
<h2><span id="toc8">どの方法を選ぶべきか？</span></h2>
<ul>
<li>
        <strong>ステージング・ローカル環境：</strong><br />
        方法①（更新チェック自体を止める）で OK。開発に集中できます。
      </li>
<li>
        <strong>クライアントサイトの本番環境：</strong><br />
        方法②（メニューを隠す）がバランス良いです。<br />
        技術者アカウントではコードを一時コメントアウトして更新確認する、といった運用もできます。
      </li>
<li>
        <strong>どうしてもコードを触りたくない：</strong><br />
        方法③（CSS）でバッジだけ隠す。ただし本質的な解決ではない点に注意。
      </li>
</ul>
</section>
<section>
<h2><span id="toc9">まとめ</span></h2>
<p>
      WordPress の更新通知は「うっとおしい」反面、サイトを守る大事なセーフティネットでもあります。
    </p>
<p>
      重要なのは、<strong>「通知を消すこと」ではなく「誰がいつアップデートをチェックするか」</strong>という<br />
      運用ルールを決めた上で、この記事のコードを活用することです。
    </p>
<p>
      ステージングではガッツリ消して、本番ではメニューだけ隠すなど、<br />
      自分のワークフローに合わせて使い分けてみてください。
    </p>
</section>
<p>投稿 <a href="https://okipapa.okinawa/363/">WordPress で更新通知（アップデート通知）を非表示にする安全な方法まとめ</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/363/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPressのメール送信エラーをSlackで即座に見逃さない！「Fail2Notify」のSlack連携設定ガイド</title>
		<link>https://okipapa.okinawa/345/</link>
					<comments>https://okipapa.okinawa/345/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Tue, 09 Dec 2025 11:58:05 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=345</guid>

					<description><![CDATA[<p>お問い合わせフォームからの通知や、システムからの自動返信メールなど、WordPressサイトにおいて「メール」は非常に重要です。しかし、何らかのトラブルでメールが送信できていなかった場合、クライアントから指摘されて気づく [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/345/">WordPressのメール送信エラーをSlackで即座に見逃さない！「Fail2Notify」のSlack連携設定ガイド</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p>お問い合わせフォームからの通知や、システムからの自動返信メールなど、WordPressサイトにおいて「メール」は非常に重要です。しかし、何らかのトラブルでメールが送信できていなかった場合、クライアントから指摘されて気づくことが少なくありません。</p>
<p>そこでおすすめなのが、メール送信エラーを検知して通知してくれるプラグイン「<a href="https://wordpress.org/plugins/fail2notify-mail-failure-alerts/"><strong>Fail2Notify</strong></a>」です。</p>
<p>無料の範囲だとslackでの連携ができるのでその連携方法をご紹介します。</p>
<p>ちなみにFail2NotifyもSlackも無料版で問題ないです。</p>
<h2><span id="toc1">Step 1：Slackの「Webhook URL」を取得する</span></h2>
<p>まずは通知を受け取りたいSlack側で、情報の受け口となる「Webhook URL（ウェブフックURL）」という専用のURLを発行します。<br />
※今回はパソコン版での紹介です！</p>
<div style="background-color: #fff8e1; border: 2px solid #ffcc00; padding: 20px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin-bottom: 30px; text-align: center;">
<p style="margin: 0 0 10px; font-weight: bold; font-size: 1.1em; ">🚨 この記事の手順は古くなっています！</p>
<p style="margin: 0 0 15px; font-size: 0.95em; color: #333;">現在はSlack公式が推奨する、より安全で新しい設定方法があります。<br />以下の記事で最新の手順をご確認ください。</p>
<p>    <a href="https://okipapa.okinawa/369/" style="display: inline-block; background-color: #d32f2f; color: white; padding: 12px 24px; border-radius: 5px; text-decoration: none; font-weight: bold; font-size: 1em; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transition: background-color 0.3s;" onmouseover="this.style.backgroundColor='#b71c1c'" onmouseout="this.style.backgroundColor='#d32f2f'"> 👉 最新（推奨版）の設定手順はこちら</a>
</div>
<ol>
<li>Slackを開き、左メニューの「その他」からAppをクリック（または「アプリを追加する」から検索）。<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-349" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/1-286x300.png" alt="" width="286" height="300" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/1-286x300.png 286w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/1.png 502w" sizes="auto, (max-width: 286px) 100vw, 286px" /></li>
<li>検索窓に「<strong>Incoming Webhooks</strong>」と入力して検索します。</li>
<li>「Incoming Webhooks」というアプリが表示されるので、「インストール」ボタンを押します。</li>
<li>ブラウザが立ち上がりSlackの公式サイトへ移動します。「Slackに追加」ボタンをクリックします。<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-351" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/2-300x175.png" alt="" width="300" height="175" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/2-300x175.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/2-1024x597.png 1024w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/2-768x448.png 768w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/2.png 1081w" sizes="auto, (max-width: 300px) 100vw, 300px" /></li>
<li><strong>チャンネルへの投稿</strong>という項目で、通知を送りたいチャンネル（例：<code>#general</code> や <code>#エラー通知</code> など）を選び、「Incoming Webhook インテグレーションの追加」をクリックします。<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-350" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/3-300x104.png" alt="" width="300" height="104" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/3-300x104.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/3-768x265.png 768w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/3.png 971w" sizes="auto, (max-width: 300px) 100vw, 300px" /></li>
<li>画面が切り替わると、「<strong>Webhook URL</strong>」という項目に <code>https://hooks.slack.com/services/...</code> から始まるURLが表示されます。<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-353" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/4-300x216.png" alt="" width="300" height="216" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/4-300x216.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/4-768x554.png 768w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/4.png 971w" sizes="auto, (max-width: 300px) 100vw, 300px" /></li>
<li>このURLを後で使うので、コピーしておきます。</li>
</ol>
<p>これでSlack側の準備は完了です！</p>
<h2><span id="toc2">Step 2：WordPressでプラグインの設定を開く</span></h2>
<p>次にWordPressの管理画面に戻り、設定画面を開きます。</p>
<ol>
<li>WordPressの管理画面（ダッシュボード）にログインします。</li>
<li>左側のメニューから「<strong>Fail2Notify</strong>」をクリックします。<br />
<small>※設定の中にあります。<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-355" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/5-300x259.png" alt="" width="300" height="259" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/5-300x259.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/5.png 327w" sizes="auto, (max-width: 300px) 100vw, 300px" /></small></li>
</ol>
<h2><span id="toc3">Step 3：Webhook URLを貼り付けて保存する</span></h2>
<p>設定画面が開いたら、先ほどコピーしたURLを登録します。</p>
<ol>
<li>画面内に「<strong>Slack Notifications</strong>（Slack通知設定）」というエリアがあります。</li>
<li>「<strong>Enable Slack alerts</strong>（Slack通知を有効化）」のチェックボックスにチェックを入れます。</li>
<li>「<strong>Webhook URL</strong>」の入力欄に、Step 1でコピーした <code>https://hooks.slack.com/...</code> のURLを貼り付けます。<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-356" src="https://okipapa.okinawa/home/wp-content/uploads/2025/12/6-300x159.png" alt="" width="300" height="159" srcset="https://okipapa.okinawa/home/wp-content/uploads/2025/12/6-300x159.png 300w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/6-768x407.png 768w, https://okipapa.okinawa/home/wp-content/uploads/2025/12/6.png 824w" sizes="auto, (max-width: 300px) 100vw, 300px" /></li>
<li>最後に、画面下部の「変更を保存」ボタンをクリックします。</li>
</ol>
<p>設定はこれだけで完了です。<br />
設定したら、下に「send test notification」というボタンがあるので、それを押すと、設定に問題なければslackに通知が来ます。</p>
<h2><span id="toc4">まとめ</span></h2>
<p>お疲れ様でした！これでWordPressからメール送信に失敗した際、指定したSlackチャンネルへ自動的に通知が届くようになりました。</p>
<p>「大事なお問い合わせメールが届いていなかった！」というトラブルを未然に防ぐためにも、ぜひこの設定を活用してサイト運営に役立ててください。</p>
<p>書きましたが、クライアントと私と、複数に通知が欲しい時の設定がないのが残念だなと思ったのでこの辺が改善されるといいですね！</p>
<p>投稿 <a href="https://okipapa.okinawa/345/">WordPressのメール送信エラーをSlackで即座に見逃さない！「Fail2Notify」のSlack連携設定ガイド</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/345/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fail2Notify WordPressメール監視。失敗を即座に検知して対応する仕組みづくりをご紹介！</title>
		<link>https://okipapa.okinawa/343/</link>
					<comments>https://okipapa.okinawa/343/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Wed, 03 Dec 2025 07:03:01 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=343</guid>

					<description><![CDATA[<p>はじめに：見落としがちなメール送信エラーの問題 WordPressサイトを運営していると、お問い合わせフォームやパスワードリセット、注文確認メールなど、様々な場面でメール送信機能が使われます。しかし、メールが実際に送信さ [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/343/">Fail2Notify WordPressメール監視。失敗を即座に検知して対応する仕組みづくりをご紹介！</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="toc1">はじめに：見落としがちなメール送信エラーの問題</span></h2>
<p>WordPressサイトを運営していると、お問い合わせフォームやパスワードリセット、注文確認メールなど、様々な場面でメール送信機能が使われます。しかし、メールが実際に送信されているかどうか、多くのサイト管理者は日常的に確認していないのではないでしょうか。</p>
<p>実際、メール送信が失敗していることに気づくのは、お客様から「メールが届かない」という問い合わせが来てからというケースが少なくありません。SMTP設定の変更、サーバーの設定ミス、プラグインの競合など、メール送信が失敗する原因は多岐にわたります。しかし、失敗していることに気づかなければ、問題を解決することもできません。</p>
<p>プロのサイト運営では、このような問題をユーザーに気づかれる前に発見し、迅速に対応することが重要です。今回は、WordPressのメール送信失敗を自動的に検知してSlackに通知するプラグイン「Fail2Notify」を紹介し、メール監視の仕組みづくりについて解説します。</p>
<h2><span id="toc2">WordPressメール送信の仕組みと課題</span></h2>
<h3><span id="toc3">wp_mail()の基本的な仕組み</span></h3>
<p>WordPressでは、メール送信に`wp_mail()`というコア関数が使用されます。この関数は、WordPressの内部だけでなく、Contact Form 7やWooCommerceなどの多くのプラグインでも利用されています。</p>
<p>基本的な使い方は以下の通りです：</p>
<pre><code>wp_mail( $to, $subject, $message, $headers, $attachments );
</code></pre>
<p>`wp_mail()`は、PHPの`mail()`関数やSMTPプラグインを通じてメールを送信しますが、送信に失敗した場合でも、通常はエラーメッセージを表示しません。そのため、失敗に気づきにくいという問題があります。</p>
<h3><span id="toc4">メール送信が失敗する主な原因</span></h3>
<p>メール送信が失敗する原因としては、以下のようなものが挙げられます：</p>
<ul>
<li><strong>SMTP設定の不備</strong>：メールサーバーの設定が正しくない、認証情報が間違っている</li>
<li><strong>サーバーの制限</strong>：サーバー側でメール送信が制限されている、送信数に上限がある</li>
<li><strong>プラグインの競合</strong>：複数のメール関連プラグインが競合している</li>
<li><strong>メールサーバーの問題</strong>：メールサーバーがダウンしている、メールボックスが満杯</li>
<li><strong>スパムフィルター</strong>：メールがスパムとして判定されてブロックされている</li>
</ul>
<h3><span id="toc5">失敗に気づかないことのリスク</span></h3>
<p>メール送信の失敗に気づかないと、以下のようなリスクが発生します：</p>
<ul>
<li><strong>顧客満足度の低下</strong>：お問い合わせへの返信が届かない、注文確認メールが届かない</li>
<li><strong>ビジネス機会の損失</strong>：重要なメールが届かず、取引機会を逃す</li>
<li><strong>セキュリティリスク</strong>：パスワードリセットメールが届かない場合、セキュリティ上の問題が発生する可能性</li>
<li><strong>信頼性の低下</strong>：メールが届かないことが常態化すると、サイトへの信頼が損なわれる</li>
</ul>
<p>これらのリスクを最小限に抑えるためには、メール送信の失敗を即座に検知し、迅速に対応する仕組みが必要です。</p>
<h2><span id="toc6">Fail2Notifyの紹介</span></h2>
<h3><span id="toc7">プラグインの概要と目的</span></h3>
<p>Fail2Notifyは、WordPressの`wp_mail()`関数の送信失敗を自動的に検知し、Slackに通知を送信するプラグインです。メール送信が失敗した瞬間に、管理者に即座に通知が届くため、問題を早期に発見して対応することができます。</p>
<p>このプラグインは、WordPressコアの`wp_mail_failed`アクションにフックして動作します。つまり、WordPressの標準的なメール送信機能を使用している限り、Contact Form 7やWooCommerceなど、どのプラグインから送信されたメールでも検知できます。追加の設定は不要で、プラグインを有効化してSlackのWebhook URLを設定するだけで使用できます。</p>
<h3><span id="toc8">主な機能の紹介</span></h3>
<h4><span id="toc9">1. 即座の失敗検知</span></h4>
<p>Fail2Notifyは、`wp_mail()`が失敗した瞬間に`wp_mail_failed`アクションをキャッチします。メール送信の試行が失敗すると、即座に処理が開始され、エラー情報が収集されます。</p>
<h4><span id="toc10">2. Slack通知機能</span></h4>
<p>検知したエラー情報は、SlackのIncoming Webhookを通じて通知されます。通知には以下の情報が含まれます：</p>
<ul>
<li>サイト名（カスタマイズ可能）</li>
<li>環境ラベル（本番、ステージングなど）</li>
<li>エラーメッセージ</li>
<li>送信先メールアドレス（マスク済み）</li>
<li>件名</li>
<li>発生したURL</li>
<li>発生日時</li>
</ul>
<p>Slackに通知が届くことで、スマートフォンでも即座に問題を把握でき、迅速な対応が可能になります。</p>
<h4><span id="toc11">3. 個人情報の自動マスク</span></h4>
<p>Fail2Notifyは、プライバシー保護のため、メールアドレスやその他の個人情報を自動的にマスクします。例えば、`user@example.com`は`u***@e***.com`のようにマスクされ、Slackに送信されます。これにより、通知を共有する際にも個人情報が漏洩するリスクを最小限に抑えられます。</p>
<p>マスク機能は、送信先メールアドレスだけでなく、メッセージ本文内に含まれるメールアドレスにも適用されます。また、APIキーやパスワードなどの機密情報も自動的にマスクされます。</p>
<h4><span id="toc12">4. ログ保存機能</span></h4>
<p>プラグインは、最新50件のメール送信失敗ログをWordPressのデータベースに保存します。設定画面では、これらのログを一覧で確認でき、以下の情報を確認できます：</p>
<ul>
<li>発生日時</li>
<li>環境ラベル</li>
<li>通知先チャネル</li>
<li>送信先メールアドレス（マスク済み）</li>
<li>件名</li>
<li>エラーメッセージ</li>
</ul>
<p>ログを確認することで、過去のエラーパターンを分析し、根本原因を特定することができます。</p>
<h4><span id="toc13">5. テスト通知機能</span></h4>
<p>設定が正しく動作しているか確認するため、実際のエラーを発生させずにテスト通知を送信できる機能が用意されています。「テスト通知を送信」ボタンをクリックするだけで、Slackにテスト通知が送信され、設定が正しく機能していることを確認できます。</p>
<h2><span id="toc14">インストールと設定方法</span></h2>
<h3><span id="toc15">プラグインのインストール</span></h3>
<p>Fail2Notifyのインストールは、通常のWordPressプラグインと同様です。</p>
<ol>
<li>プラグインディレクトリから「Fail2Notify — Mail Failure Alerts」を検索してインストールするか、プラグインファイルを`/wp-content/plugins/`ディレクトリにアップロードします</li>
<li>「プラグイン」メニューから「インストール済みプラグイン」を開き、Fail2Notifyを有効化します</li>
</ol>
<h3><span id="toc16">Slack Webhook URLの取得方法</span></h3>
<p>Fail2Notifyを使用するには、SlackのIncoming Webhook URLが必要です。以下の手順で取得できます：</p>
<ol>
<li>Slackのワークスペースにログインします</li>
<li>「アプリ」から「Incoming Webhook」を検索して追加します</li>
<li>通知を送信したいチャネルを選択します（例：#wordpress-alerts）</li>
<li>「Webhook URLをコピー」をクリックしてURLをコピーします</li>
</ol>
<p>Webhook URLは、`https://hooks.slack.com/services/&#8230;`という形式になります。このURLは機密情報なので、適切に管理してください。</p>
<h3><span id="toc17">設定画面での設定手順</span></h3>
<p>プラグインを有効化したら、以下の手順で設定を行います：</p>
<ol>
<li>WordPressの管理画面で「設定」→「Fail2Notify」を開きます</li>
<li>「Slack通知を有効にする」にチェックを入れます</li>
<li>「Webhook URL」フィールドに、先ほど取得したSlackのWebhook URLを貼り付けます</li>
<li>（オプション）「サイトラベル」に、通知で表示したいサイト名を入力します（デフォルトはサイト名）</li>
<li>（オプション）「環境ラベル」に、「本番」「ステージング」「開発」などの環境名を入力します</li>
<li>「変更を保存」ボタンをクリックして設定を保存します</li>
</ol>
<h3><span id="toc18">テスト通知ボタンの使い方</span></h3>
<p>設定が完了したら、正しく動作しているか確認するため、テスト通知を送信します：</p>
<ol>
<li>設定画面の下部にある「テスト通知を送信」ボタンをクリックします</li>
<li>Slackの指定したチャネルにテスト通知が届くことを確認します</li>
<li>通知が届かない場合は、Webhook URLが正しいか、インターネット接続が正常かを確認してください</li>
</ol>
<p>テスト通知が正常に届けば、設定は完了です。これで、メール送信が失敗した際に自動的にSlackに通知が届くようになります。</p>
<h2><span id="toc19">実際の使用例と効果</span></h2>
<h3><span id="toc20">メール送信失敗時の通知例</span></h3>
<p>実際にメール送信が失敗した場合、Slackには以下のような通知が届きます：</p>
<pre><code>⚠️ Mail delivery failed on サイト名 [本番] (2024-01-15 14:30:25)

Details:
Error: SMTP connect() failed
Recipient: u***@e***.com
Subject: お問い合わせありがとうございます
URL: https://example.com/contact/
</code></pre>
<p>この通知により、以下の情報を即座に把握できます：</p>
<ul>
<li>どのサイトで問題が発生したか</li>
<li>どの環境（本番/ステージング）で発生したか</li>
<li>どのようなエラーが発生したか</li>
<li>どのメールアドレスへの送信が失敗したか</li>
<li>どのページから送信が試みられたか</li>
</ul>
<h3><span id="toc21">ログ機能の活用方法</span></h3>
<p>設定画面の「Recent Failure Logs」セクションでは、最新50件の失敗ログを確認できます。このログを活用することで、以下のような分析が可能です：</p>
<ul>
<li><strong>エラーパターンの特定</strong>：同じエラーが繰り返し発生している場合、根本原因を特定できます</li>
<li><strong>影響範囲の把握</strong>：どのメールアドレスやページで問題が発生しているかを把握できます</li>
<li><strong>時間帯の分析</strong>：特定の時間帯にエラーが集中している場合、サーバーの負荷や設定の問題を疑えます</li>
</ul>
<p>例えば、ログを見て「毎日午前9時頃にSMTP接続エラーが発生している」ことがわかれば、サーバーのメンテナンス時間やネットワークの問題を疑うことができます。</p>
<h3><span id="toc22">運用上のメリット</span></h3>
<p>Fail2Notifyを導入することで、以下のような運用上のメリットが得られます：</p>
<ul>
<li><strong>早期発見</strong>：メール送信の失敗を、ユーザーからの問い合わせが来る前に発見できます</li>
<li><strong>迅速な対応</strong>：Slack通知により、スマートフォンからでも即座に問題を把握し、対応できます</li>
<li><strong>プロアクティブな運用</strong>：問題が発生してから対応するのではなく、問題を予防的に監視できます</li>
<li><strong>信頼性の向上</strong>：メール送信の問題を早期に発見して解決することで、サイトの信頼性が向上します</li>
<li><strong>運用効率の向上</strong>：ログ機能により、問題の原因を効率的に特定できます</li>
</ul>
<p>特に、複数のサイトを管理している場合や、クライアントのサイトを運用している場合には、このような監視機能は不可欠です。すべてのサイトでメール送信が正常に動作していることを確認するのは困難ですが、Fail2Notifyを導入することで、問題が発生した際に即座に通知を受け取ることができます。</p>
<h2><span id="toc23">まとめ</span></h2>
<p>WordPressサイトのメール送信機能は、サイト運営において重要な役割を果たしますが、その失敗に気づきにくいという問題があります。Fail2Notifyを導入することで、メール送信の失敗を自動的に検知し、Slackに通知を受け取ることができます。</p>
<p>このプラグインの主な特徴は以下の通りです：</p>
<ul>
<li>WordPressコアの`wp_mail_failed`アクションにフックして、すべてのメール送信失敗を検知</li>
<li>個人情報を自動的にマスクして、プライバシーを保護</li>
<li>Slackに即座に通知を送信して、迅速な対応を可能にする</li>
<li>最新50件のログを保存して、問題の分析を支援</li>
<li>テスト通知機能により、設定の確認が容易</li>
</ul>
<p>プロのサイト運営では、問題が発生してから対応するのではなく、問題を早期に発見して予防的に対応することが重要です。Fail2Notifyを導入することで、メール送信の問題をユーザーに気づかれる前に発見し、迅速に対応できるようになります。</p>
<p>メール送信の監視は、サイトの信頼性を向上させ、顧客満足度を高めるための重要な施策です。ぜひ、Fail2Notifyを導入して、プロアクティブなメール監視の仕組みを構築してみてください。</p>
<p>投稿 <a href="https://okipapa.okinawa/343/">Fail2Notify WordPressメール監視。失敗を即座に検知して対応する仕組みづくりをご紹介！</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/343/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPressのメインループ、サブループをifを波括弧で書きたい。</title>
		<link>https://okipapa.okinawa/335/</link>
					<comments>https://okipapa.okinawa/335/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Wed, 27 Nov 2024 01:43:30 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=335</guid>

					<description><![CDATA[<p>メインループやサブループを書くときに自分で書くより検索して引っ張って来たほうが早いので、毎回Webからコピーしますが phpのif文が：になってて毎回読みにくくて嫌になります。 ※個人的にです。 なので、if文を波括弧で [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/335/">WordPressのメインループ、サブループをifを波括弧で書きたい。</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p>メインループやサブループを書くときに自分で書くより検索して引っ張って来たほうが早いので、毎回Webからコピーしますが<br />
phpのif文が：になってて毎回読みにくくて嫌になります。<br />
※個人的にです。</p>
<p>なので、if文を波括弧で書いたものを自分用に起きておきます。ベースはこちらのWebサイトのものを改修しています。<br />
https://hirashimatakumi.com/blog/18.html</p>
<h3><span id="toc1">メインループ</span></h3>
<p><code>&lt;?php if (have_posts()){ ?&gt;<br />
&lt;?php while (have_posts()) {<br />
the_post();<br />
?&gt;<br />
&lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;<br />
&lt;?php echo get_the_date(); ?&gt;<br />
&lt;?php the_permalink(); ?&gt;<br />
&lt;?php echo get_the_title(); ?&gt;<br />
&lt;?php the_content(); ?&gt;<br />
&lt;/div&gt;<br />
&lt;?php } ?&gt;<br />
&lt;?php }else{ ?&gt;<br />
&lt;!-- 投稿が無い場合の処理 --&gt;<br />
&lt;?php }; ?&gt;</code></p>
<h3><span id="toc2">サブループ</span></h3>
<p><code>&lt;?php<br />
$args = array(<br />
'post_type' =&gt; 'Products', // カスタム投稿タイプ Products<br />
<span class="hljs-string">'posts_per_page'</span> =&gt; <span class="hljs-number">5,</span> <span class="hljs-comment">// 投稿件数の指定<br />
<span class="hljs-string">'tax_query'</span> =&gt; <span class="hljs-keyword">array</span>(<br />
<span class="hljs-keyword">array</span>(<br />
<span class="hljs-string">'taxonomy'</span> =&gt; <span class="hljs-string">'Products-cat'</span>, // タクソノミースラッグを指定<br />
<span class="hljs-string">'field'</span> =&gt; <span class="hljs-string">'slug'</span>,<br />
<span class="hljs-string">'terms'</span> =&gt; <span class="hljs-string">'item1'</span>, // タームスラッグを指定<br />
)<br />
)<br />
</span> );<br />
$the_query = new WP_Query($args);<br />
if($the_query-&gt;have_posts()){<br />
?&gt;<br />
&lt;?php while ($the_query-&gt;have_posts()){<br />
$the_query-&gt;the_post(); ?&gt;<br />
&lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;<br />
&lt;?php echo get_the_date(); ?&gt;<br />
&lt;?php the_permalink(); ?&gt;<br />
&lt;?php echo get_the_title(); ?&gt;<br />
&lt;?php the_content(); ?&gt;<br />
&lt;/div&gt;<br />
&lt;?php }; ?&gt;<br />
&lt;?php wp_reset_postdata(); ?&gt;<br />
&lt;?php }else{ ?&gt;<br />
&lt;!-- 投稿が無い場合の処理 --&gt;<br />
&lt;?php }; ?&gt;</code></p>
<p>投稿 <a href="https://okipapa.okinawa/335/">WordPressのメインループ、サブループをifを波括弧で書きたい。</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/335/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スムーススクロールは結局の所これになると思う。Lazyloadによるズレも解消 WordPressにも対応。</title>
		<link>https://okipapa.okinawa/329/</link>
					<comments>https://okipapa.okinawa/329/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Fri, 29 Mar 2024 03:45:49 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=329</guid>

					<description><![CDATA[<p>jQuery('a[href^="#"]').click(function(e) { let href = jQuery(this).attr("href"); let target = jQuery(href == " [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/329/">スムーススクロールは結局の所これになると思う。Lazyloadによるズレも解消 WordPressにも対応。</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><code><br />
jQuery('a[href^="#"]').click(function(e) {<br />
	let href = jQuery(this).attr("href");<br />
	let target = jQuery(href == "#" || href == "" ? 'html' : href);<br />
	let position = target.offset().top;<br />
  let adjust = 100;<br />
	jQuery.when(<br />
		jQuery("html, body").animate({<br />
			scrollTop: position<br />
		}, 400, "swing"),<br />
		e.preventDefault(),<br />
	).done(function() {<br />
		let diff = target.offset().top  - adjust ;<br />
		if (diff === position) {<br />
		} else {<br />
			jQuery("html, body").animate({<br />
				scrollTop: diff<br />
			}, 10, "swing");<br />
		}<br />
	});<br />
});<br />
</code></p>
<p>投稿 <a href="https://okipapa.okinawa/329/">スムーススクロールは結局の所これになると思う。Lazyloadによるズレも解消 WordPressにも対応。</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/329/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MW WP FORMで添付ファイル(rar)が確認画面でなくなる話。</title>
		<link>https://okipapa.okinawa/326/</link>
					<comments>https://okipapa.okinawa/326/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Thu, 16 Mar 2023 12:40:57 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=326</guid>

					<description><![CDATA[<p>MW WP FORMで添付ファイル(rar)が確認画面でなくなる MW WP FORMはなんだかんだでよく使いますが、たまに変わった拡張子をアップロードすることがあります。 rarのアップロードを許可する必要があったので [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/326/">MW WP FORMで添付ファイル(rar)が確認画面でなくなる話。</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<h2>MW WP FORMで添付ファイル(rar)が確認画面でなくなる</h2>
<p>MW WP FORMはなんだかんだでよく使いますが、たまに変わった拡張子をアップロードすることがあります。</p>
<p>rarのアップロードを許可する必要があったので、プラグインのバリデーションで許可をして、WPがrarは許可してないと思い、rarのMime typeをfunctions.phpで追加しました。<br />
<code><br />
function allow_upload_rar($mimes)<br />
{<br />
$mimes['rar'] = 'application/octet-stream';<br />
return $mimes;<br />
}<br />
add_filter('upload_mimes', 'allow_upload_rar');<br />
</code></p>
<p>追加したけど、、、アップロードして確認画面に行くと添付ファイルがなくなってる。。。</p>
<p>なぜだ。。ファイルも軽いサイズでテストしているのでアップロードのMAXサイズとかには引っかかってないはず。。。</p>
<p>上記設定前はだめだったけど、管理画面からはアップロードできるようになってるから、rarの設定はうまくいってるが、、、なぜだ。。と悩んでいました。</p>
<p>あまりやりたくはないけどプラグインの挙動を調べようと思い、みていると</p>
<p>プラグインの classes/functions.php にある check_file_type 関数で添付できる拡張子チェックしているようだった。</p>
<p>そこでチェックしていると、rarをアップロードしたときに下記のようにMime typeが判定されていた。<br />
<code><br />
'application/x-rar',<br />
</code></p>
<p>アップロードしたrarがfunctions.phpで登録したMime typeと違う。。。<br />
とりあえずこちらを新たに登録して試したところ確認画面でもファイルのアップロードができていたのを確認できました。<br />
<code><br />
function allow_upload_rar($mimes)<br />
{<br />
    // MW WP FORM が 'application/x-rar' を期待しているため<br />
    $mimes['rar'] = 'application/x-rar';<br />
    return $mimes;<br />
}<br />
add_filter('upload_mimes', 'allow_upload_rar');<br />
</code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>よかった。</p>
<p>投稿 <a href="https://okipapa.okinawa/326/">MW WP FORMで添付ファイル(rar)が確認画面でなくなる話。</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/326/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>search &#038; filter proのサーチデータにアクセスする方法</title>
		<link>https://okipapa.okinawa/318/</link>
					<comments>https://okipapa.okinawa/318/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Wed, 22 Feb 2023 00:17:46 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=318</guid>

					<description><![CDATA[<p>search &#38; filter proでフィルタしたデータにアクセスが必要になった。 WordPressのアーカイブページで、タグでの絞込をsearch &#38; filter proで行うページを作りました。 [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/318/">search &#038; filter proのサーチデータにアクセスする方法</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<h2>search &amp; filter proでフィルタしたデータにアクセスが必要になった。</h2>
<p>WordPressのアーカイブページで、タグでの絞込をsearch &amp; filter proで行うページを作りました。</p>
<p>その中でフィルタされたデータが出力された際、フィルタされたタグのみを表示したいということになりまして、search &amp; filter proのサーチデータにアクセスする必要が出てきました。</p>
<p>恐らくタクソノミーページとかで作ればWP内で解決するのかもしれませんがいい機会なので、調べてみることにしました。</p>
<p><a rel="noopener" href="https://searchandfilter.com/documentation/accessing-search-data/" target="_blank">公式サイト</a>からになりますが、</p>
<p>&nbsp;</p>
<pre><code>
	//Get the search term
	//replace `1526` with the ID of your search form
	global $searchandfilter;
	$sf_current_query = $searchandfilter-&gt;get(1526)-&gt;current_query();
	echo $sf_current_query-&gt;get_search_term();
</code></pre>
<p>という感じで取得できました。</p>
<p>1526の部分は、search &amp; filter proのショートコードとかのIDになります。</p>
<p>投稿 <a href="https://okipapa.okinawa/318/">search &#038; filter proのサーチデータにアクセスする方法</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/318/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPressでeditor-style(add_editor_style)が効かなくて困った：解決済み</title>
		<link>https://okipapa.okinawa/316/</link>
					<comments>https://okipapa.okinawa/316/#respond</comments>
		
		<dc:creator><![CDATA[沖縄移住のパパ]]></dc:creator>
		<pubDate>Tue, 21 Feb 2023 12:01:29 +0000</pubDate>
				<category><![CDATA[仕事]]></category>
		<guid isPermaLink="false">https://okipapa.okinawa/?p=316</guid>

					<description><![CDATA[<p>WordPressでeditor-styleが効かなくて困った いつも通りブロックエディターでもフロントエンドとなるべくおなじ見栄えになるように、editor-styleを作って入れてみたが、パスが悪いのか関数の書き方が [&#8230;]</p>
<p>投稿 <a href="https://okipapa.okinawa/316/">WordPressでeditor-style(add_editor_style)が効かなくて困った：解決済み</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<h2>WordPressでeditor-styleが効かなくて困った</h2>
<p>いつも通りブロックエディターでもフロントエンドとなるべくおなじ見栄えになるように、editor-styleを作って入れてみたが、パスが悪いのか関数の書き方が悪いのか全然効かず、仕方がないので、過去の案件からfunction引っ張ってきて入れたが効かない。。。</p>
<p>編集画面ではエラーも出てるし、WPのアップデートやプラグインのアップデート、またプラグインを一つずつ外していっても一向に消えない。。。</p>
<p>なぜだ～と悩んでいたら、jsでこのCSSを読み込むせいかCSS側で使ってはいけない＠importとかもあるらしいとのことで、CSSを見直していたら、普通にCSSの「 } 」がなくてエラーが起きてた。</p>
<p>CSSにエラーがあると効かないのね。。。</p>
<p>勉強になりました。</p>
<p>投稿 <a href="https://okipapa.okinawa/316/">WordPressでeditor-style(add_editor_style)が効かなくて困った：解決済み</a> は <a href="https://okipapa.okinawa">日本生まれ中国育ち沖縄移住パパのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://okipapa.okinawa/316/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
