<?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>WordPress全般 アーカイブ - studioDoghands</title>
	<atom:link href="https://www.doghands.com/tag/wordpress%e5%85%a8%e8%88%ac/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.doghands.com/tag/wordpress全般/</link>
	<description>スタジオ・ドッグハンズ-運用しやすいホームーページを制作する会社です。</description>
	<lastBuildDate>Wed, 01 May 2024 02:14:51 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://www.doghands.com/wp-content/uploads/cropped-favicon-1-32x32.png</url>
	<title>WordPress全般 アーカイブ - studioDoghands</title>
	<link>https://www.doghands.com/tag/wordpress全般/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">58793406</site>	<item>
		<title>Contact Form 7の送信ボタンにFont Awesomeアイコンを追加する</title>
		<link>https://www.doghands.com/add-font-awesome-icon-inside-contact-form-7-submit-button/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Mon, 16 Mar 2020 02:25:55 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Contact Form 7]]></category>
		<category><![CDATA[Font Awesome]]></category>
		<category><![CDATA[WordPressプラグイン]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[アイコン]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=13220</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031610-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" /></p>
<p>年に何度か忘れるのでメモ。 サイト内でFont Awesomeを利用していることが前提です。 Webアイコンフォント『Font Awesome』普通の使い方 サイト内でFont Awesomeを利用する場合、まず公式サイ</p>
<p>投稿 <a href="https://www.doghands.com/add-font-awesome-icon-inside-contact-form-7-submit-button/">Contact Form 7の送信ボタンにFont Awesomeアイコンを追加する</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031610-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>年に何度か忘れるのでメモ。<br />
サイト内でFont Awesomeを利用していることが前提です。</p>
<h2>Webアイコンフォント『Font Awesome』普通の使い方</h2>
<p>サイト内でFont Awesomeを利用する場合、まず<a href="https://fontawesome.com/v4.7.0/icons/" rel="noopener noreferrer" target="_blank">公式サイト</a>で名前（クラス）を確認して<br />
<img decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031605.png" alt="" width="700" height="326" class="alignnone size-full wp-image-13226" /><br />
使いたい場所で[html]&lt;i class=&quot;fa fa-○○&quot;&gt;&lt;/i&gt;[/html]のような感じで使います。<br />
例えば「send」なら<br />
<img decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031607.png" alt="" width="243" height="126" class="alignnone size-full wp-image-13229" /><br />
[html]&lt;i class=&quot;fa fa-send&quot;&gt;&lt;/i&gt;[/html]で表示されます。</p>
<p>※上記例はFont Awesome4.7で、現行バージョン5の場合はclass=&#8221;faの「fa」の部分がスタイルにより「fas」（Solid）、「far」（Regular）のように若干異なります。</p>
<aside>
Font Awesomeを頻繁に利用する場合、<br />
・AlfredやDashにFont Awesome一覧表のプラグインを入れる<br />
・辞書や上記スニペットツールに「&lt;i class=&#8221;fa fa-○○&#8221;>&lt;/i>」を登録しておく<br />
と便利です。<br />
</aside>
<h2>Contact Form 7の送信ボタンで『Font Awesome』を使う</h2>
<p>通常の方法でContact Form 7の送信ボタンにFont Awesomeを設定してみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031606.png" alt="" width="624" height="26" class="alignnone size-full wp-image-13230" /><br />
確認すると、フォントアイコンは反映されず、テキストもデフォルトの「送信」になっています。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031604.png" alt="" width="318" height="105" class="alignnone size-full wp-image-13233" /></p>
<p>Chromeの「検証」で確認しても、入力したタグはきれいさっぱり消えています。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031602.png" alt="" width="700" height="143" class="alignnone size-full wp-image-13231" /></p>
<p>多分ContactForm7のsubmitフォームタグ内部ではタグの利用は排除されているのでしょう。</p>
<h3>Font Awesomeの文字コードを使う</h3>
<p>そこで、クラスでは無く通常のテキストと同じようにFont Awesomeを扱ってみます。<br />
これは、IllustratorやパワポなどでFont Awesomeを使う場合と同じ方法です。<br />
<a href="https://fontawesome.com/v4.7.0/cheatsheet/" rel="noopener noreferrer" target="_blank">公式チートシート</a>で文字コードを確認します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031601.png" alt="" width="700" height="383" class="alignnone size-full wp-image-13225" /></p>
<p>該当のアイコンを見つけ、文字コードをコピーします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031608.png" alt="" width="461" height="198" class="alignnone size-full wp-image-13227" /></p>
<p>submitフォームにペーストします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031603.png" alt="" width="509" height="65" class="alignnone size-full wp-image-13232" /></p>
<p>次にCSSでフォントファミリーを指定します。</p>
<h3>Font Awesomeのフォントファミリーを指定</h3>
<p>[css].wpcf7-submit {<br />
  font-family: FontAwesome;<br />
}[/css]<br />
のような感じで該当箇所にフォントファミリーを指定します。</p>
<p>送信ボタンにFont Awesomeアイコンが表示されました！<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/Font-Awesome-20031609.png" alt="" width="293" height="75" class="alignnone size-full wp-image-13228" /></p>
<p>投稿 <a href="https://www.doghands.com/add-font-awesome-icon-inside-contact-form-7-submit-button/">Contact Form 7の送信ボタンにFont Awesomeアイコンを追加する</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13220</post-id>	</item>
		<item>
		<title>カスタムフィールドで登録した情報をやっぱりカスタムタクソノミーに移行してみる</title>
		<link>https://www.doghands.com/convert_data_from_custom_field_to_custom_taxonomy/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Tue, 18 Feb 2020 06:12:25 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[カスタムタクソノミー]]></category>
		<category><![CDATA[カスタムフィールド]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=12639</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021829-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>大量の記事のカスタムフィールドの内容を、新規で作成したカスタムタクソノミーに移動したい。 リニューアルや引き継ぎ案件でたまーに発生する作業です。 まず、サイトに掲載するデータをカスタムフィールドにするか、カスタムタクソノ</p>
<p>投稿 <a href="https://www.doghands.com/convert_data_from_custom_field_to_custom_taxonomy/">カスタムフィールドで登録した情報をやっぱりカスタムタクソノミーに移行してみる</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021829-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>大量の記事のカスタムフィールドの内容を、新規で作成したカスタムタクソノミーに移動したい。<br />
リニューアルや引き継ぎ案件でたまーに発生する作業です。</p>
<p>まず、サイトに掲載するデータをカスタムフィールドにするか、カスタムタクソノミーにするか、これは明確な場合もあれば、迷う場合もあります。<br />
データが一意であればカスタムフィールドにしておけば良いのですが、サイトを長らく運用しているうちに「あれ？これ結構何回も使うぞ？カスタムタクソノミーにして選択式の方が良かったかも。」という状況が発生することもあります。</p>
<p>例えば、<br />
毎回異なる調味料を紹介するサイト。カスタムフィールド「今日の調味料」を作成。<br />
数年経つうちにレシピサイト寄りに路線変更。また、最初は単発の扱いであった「ハリッサ」のレシピが好評で、カスタムフィールド「今日の調味料」に「ハリッサ」が登録されている記事だけでも数十に。</p>
<p>こんな場合、明らかに「今日の調味料」はカスタム投稿タイプにしておいた方が運用が楽で、また「ハリッサを使ったレシピ一覧」の表示も簡単です。</p>
<p>弊社では「後々面倒にならない。運用が楽」であることを最も重視しているので、上記のようなことはめったに起こりませんが、既存のサイトではたまにみる設計です。</p>
<p>今回は、「カスタムフィールド」を利用して多くの記事を書いてしまったが、この「カスタムフィールド」に登録した単語を「カスタムタクソノミー」に移動、記事の他の部分には手を加えない。という作業をしてみます。</p>
<h2>作業の順序</h2>
<p>作業の順序はこのような感じになります。<br />
1.カスタムフィールドを含んだ投稿をCSVでエクスポート<br />
2.タクソノミー登録用にCSVを加工する。<br />
3.タクソノミーを一気に登録する。<br />
4.タクソノミーと関連付けた投稿CSVをインポートして投稿を上書き<br />
5.カスタムフィールドの削除等の仕上げ</p>
<p>それでは実際に作業してみます。</p>
<h2>1.カスタムフィールドを含んだ投稿をCSVでエクスポート</h2>
<p>これはプラグインを利用します。<br />
今回は「<a href="https://wordpress.org/plugins/wp-all-export/" rel="noopener noreferrer" target="_blank">WP All Export」</a>を使ってみましょう。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021801.png" class="alignnone size-full wp-image-12644" alt="" width="700" height="228"></p>
<p>投稿タイプを選択してから、エクスポートするデータの項目の設定に進みます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021802.png" class="alignnone size-full wp-image-12645" alt="" width="700" height="507"></p>
<p>エクスポートするデータを選択します。<br />
プラグイン「Advanced Custom Fields」（ACF）を利用したカスタムフィールドのラベルは「ACF」に表示されています。<br />
該当のラベルを中央にドラッグします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021803.png" class="alignnone size-full wp-image-12646" alt="" width="700" height="339"></p>
<p>インポート時はIDで上書きする投稿を判別するので、「Title」や「Content」は枠外にドラッグしてクリアしても良いでしょう。</p>
<p>設定完了後、CSV形式でローカルに保存します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021804.png" class="alignnone size-full wp-image-12647" alt="" width="700" height="300"></p>
<h2>2.タクソノミー登録用にCSVを加工する。</h2>
<p>ローカルに保存したCSVは<br />
・タクソノミー登録用<br />
・投稿上書き用<br />
の2種類に分けることになります。<br />
まずは「タクソノミー登録用」にCSVを加工しましょう。</p>
<h3>GoogleスプレッドシートにCSVをアップする</h3>
<p>エクセルでもLibreOfficeでも何でも良いと思いますが、今回はGoogleスプレッドシートで加工してみます。<br />
空のスプレッドシートを作成し、ローカルのCSVをインポートします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021805.png" class="alignnone size-full wp-image-12648" alt="" width="574" height="399"></p>
<p>「現在のシートを置換する」をチェックしてインポートします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021806.png" class="alignnone size-full wp-image-12649" alt="" width="304" height="235"></p>
<p>こんな感じでずらっと表が作成されます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021807.png" class="alignnone size-full wp-image-12650" alt="" width="369" height="451"></p>
<p>タクソノミー作成用の表を作るので、まずはシートをコピーして「タクソノミー抽出作業」のような名前を付けておきましょう。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021808.png" class="alignnone size-full wp-image-12651" alt="" width="297" height="116"></p>
<h3>Googleスプレッドシートで加工</h3>
<p>加工に入ります。<br />
この作業では、カスタムフィールド以外の情報は必要が無いので削除しておきます。<br />
下の場合、「Id」と「Title」列は必要ありません。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021809.png" class="alignnone size-full wp-image-12652" alt="" width="334" height="166"></p>
<p>下はカスタムフィールドのみ残した列のイメージです。<br />
fruitsというフィールドに、みかんやいちご等の単語が並びます。<br />
これらをタクソノミーとしてサイトに登録するために、まずは「<strong>重複</strong>」を消していきます。</p>
<h3>単語の重複を排除する</h3>
<p>重複の削除は簡単です。</p>
<p>列を選択して、上部の「データ」から「重複を削除」をクリックして完了です。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021811.png" class="alignnone size-full wp-image-12653" alt="" width="598" height="614" srcset="https://www.doghands.com/wp-content/uploads/cf2ct-20021811.png 598w, https://www.doghands.com/wp-content/uploads/cf2ct-20021811-50x50.png 50w, https://www.doghands.com/wp-content/uploads/cf2ct-20021811-45x45.png 45w" sizes="auto, (max-width: 598px) 100vw, 598px" /></p>
<p>重複が削除されました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021812.png" class="alignnone size-full wp-image-12655" alt="" width="307" height="193"></p>
<p>基本的な加工は一旦ここまでにして、「3.タクソノミーを一気に登録する。」に進みます。</p>
<h2>3.タクソノミーを一気に登録する。</h2>
<p>まずは移行対象となるタクソノミーをサイトに登録しておきます。<br />
例えば、カスタムフィールドの項目「Fruits」をタクソノミーに移動したい場合は「Fruits」や任意の名前でタクソノミーを作成します。<br />
「<a href="https://ja.wordpress.org/plugins/custom-post-type-ui/" rel="noopener noreferrer" target="_blank">Custom Post Type UI</a>」等のプラグインを利用しても良いでしょう。</p>
<p>このタクソノミーに個々の単語（ターム）を一括で登録する為、プラグインを利用してみます。</p>
<p>今回は「<a href="https://wordpress.org/plugins/wp-taxonomy-import/" rel="noopener noreferrer" target="_blank">WP Taxonomy Import</a>」を使います。<br />
※長らく更新されていない為、管理画面からのプラグイン検索結果には表示されず、ダウンロードしてインストールする必要があります。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021813.png" class="alignnone size-full wp-image-12656" alt="" width="700" height="369"></p>
<p>プラグインを有効可して、「設定」→「Taxonomy Import」から設定画面を開きます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021814.png" class="alignnone size-full wp-image-12657" alt="" width="691" height="348"></p>
<p>プルダウンから登録しておいたタクソノミーを選択し、フォームにタームを記入していきます。<br />
タームの入力方法は下記の通りです。<br />
・デリミタで区切るとタームとスラッグを同時で登録可能（デフォルトのデリミタ: $ ）<br />
例:りんご$ringo<br />
・タームの親子関係は-&gt;で指定可能<br />
例<br />
Toyota-&gt;rav4<br />
Toyota-&gt;ch-r</p>
<h3>スラッグも登録しておく</h3>
<p>ということなので、先程作成した表にスラッグも追加してみます。<br />
コツは間に一列を追加し、セルにデリミタ（$）を入れておくことです。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021815.png" class="alignnone size-full wp-image-12658" alt="" width="302" height="191"></p>
<p>こうしておけば、表をコピーして<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021817.png" class="alignnone size-full wp-image-12660" alt="" width="384" height="184"></p>
<p>エディタ（ATOMやSublime Text、VS Code等何でも良いです）にペースト<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021816.png" class="alignnone size-full wp-image-12659" alt="" width="294" height="139"></p>
<p>余計な空白を置換して削除すれば、「Taxonomy Import」に使えるテキストが完成します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021818.png" class="alignnone size-full wp-image-12661" alt="" width="245" height="140"><br />
※画像では一列目（fruits$スラッグ）までコピーしてしまっていますが、ここは必要ありません。</p>
<p>「Taxonomy Import」にテキストをペーストして、タクソノミーをインポートします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021819.png" class="alignnone size-full wp-image-12662" alt="" width="383" height="303"></p>
<p>ここまでで、カスタムフィールドに登録されていた単語を特定のタクソノミーのタームとして登録することができました。</p>
<h2>4.タクソノミーと関連付けた投稿CSVをインポートして投稿を上書き</h2>
<p>後は投稿とタクソノミー（のターム）を紐付けて、既存の投稿を上書きします。</p>
<p>「1.カスタムフィールドを含んだ投稿をCSVでエクスポート」で作成し、スプレッドシートにアップした表を利用します。</p>
<p>投稿の一括登録（上書き）には、プラグイン「<a href="https://wordpress.org/plugins/really-simple-csv-importer/" rel="noopener noreferrer" target="_blank">Really Simple CSV Importer</a>」を利用してみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021820.png" class="alignnone size-full wp-image-12663" alt="" width="700" height="433"></p>
<p>このプラグインも長らく更新が無く、ダウンロードしてインストールが必要になります。</p>
<h3>「Really Simple CSV Importer」の基本的な使い方</h3>
<p>基本的な使い方は、<a href="http://notnil-creative.com/blog/archives/3465" rel="noopener noreferrer" target="_blank">プラグイン製作者様のこちらの記事</a>が一番わかり易いです。</p>
<p>CSVの各項目のタイトルをルールに沿ってリネームし、WordPress管理画面「ツール」→「インポート」→「CSV」からインポートを実行します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021821.png" class="alignnone size-full wp-image-12664" alt="" width="546" height="93"></p>
<h3>「Really Simple CSV Importer」用に表を加工する</h3>
<p>今回は既存の記事に、新規設定したタクソノミーを登録するだけなので、表はシンプルです。<br />
必要なのは記事IDとタームのみです。後は、投稿タイプの指定も推奨されているので追加しておきます。</p>
<p>元の表。実際はTitleの列も必要ありません。<br />
エクスポートしたカスタムフィールドの項目名を、今回登録したタクソノミー名に変更します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021822.png" class="alignnone size-full wp-image-12665" alt="" width="349" height="280"></p>
<p>「Really Simple CSV Importer」ではタクソノミーを登録する際、下記のルールがあります。<br />
・列名は「tax_タクソノミー名」。例えばfruitsならtax_fruits<br />
・タクソノミーとタームは登録済である必要がある※この為、「3.タクソノミーを一気に登録する。」の作業をしておく必要があります。</p>
<p>今回の作業で最低限必要なのは、このようなイメージの表です。※ポストタイプは必須ではありませんが、指定が推奨。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021823.png" class="alignnone size-full wp-image-12666" alt="" width="316" height="164"></p>
<h3>加工した表をCSVとしてローカルに保存</h3>
<p>表の加工が完了したら、「ファイル」→「ダウンロード」からCSV形式でローカルに保存します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021824.png" class="alignnone size-full wp-image-12667" alt="" width="560" height="420"></p>
<p>WordPress管理画面からインポート画面（「ツール」→「インポート」→「CSV」）から先程のCSVを選択して、インポートを実行して完了です。</p>
<h2>5.カスタムフィールドの削除等の仕上げ</h2>
<p>後は、利用しないフィールドの削除、管理画面で該当するカスタムタクソノミーの表示、サイト側の表示コードの修正、等の仕上げを行います。</p>
<h3>カスタムフィールドのデータを削除「Delete Custom Fields」</h3>
<p>「Advanced Custom Field」から項目を削除しても、以前に入力し、記事に紐付けられているデータは残ったままなので、データベースから削除、またはプラグインを利用します。</p>
<p>これまた長らく更新されていないプラグインなので、下記ページからダウンロードしてインストールが必要です。<br />
利用時には念の為サイトのバックアップを取っておきましょう。<br />
<a href="https://ja.wordpress.org/plugins/delete-custom-fields/" rel="noopener noreferrer" target="_blank">Delete Custom Fields</a><img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021826.png" class="alignnone size-full wp-image-12669" alt="" width="700" height="354"></p>
<p>「ツール」→「Delete Custom Fields」から、データを削除するカスタムフィールドを選択し、実行します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021827.png" class="alignnone size-full wp-image-12670" alt="" width="700" height="239"></p>
<p>記事に紐付けられていたカスタムフィールドのデータが削除されます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/cf2ct-20021827.png" class="alignnone size-full wp-image-12670" alt="" width="700" height="239"></p>
<h2>最初の設計が肝心</h2>
<p>如何でしたでしょうか？<br />
ホームページの設計時に、カスタムフィールドとカスタムタクソノミーの特性を理解しておけば、このような作業は必要ありません。<br />
・後でまとめて表示したいかも<br />
・何回も使うかも<br />
と思うような項目は、カスタムタクソノミーの利用を考えましょう。</p>
<p>引き継いだサイトの中には、繰り返されるセミナーの開催地や、採用ページの勤務地がカスタムフィールドとして設計されているサイトもありました。<br />
つまり、管理画面から毎回毎回同じような住所を記入しなければならないのです。<br />
このような場合は、カスタムタクソノミーで地名を選択式にしておき、連動する要素（住所、アクセス、地図）を自動で出し分ける方が運用が楽でしょう。<br />
カスタムフィールドで選択式にしておく方法もあると思いますが、この場合「同じ会場で開催されているセミナー一覧」「同じ勤務地で募集している採用一覧」などの表示が面倒です。</p>
<p>これからサイトを作る場合は後々運用が面倒にならないように、慎重に設計しましょう。</p>
<p>投稿 <a href="https://www.doghands.com/convert_data_from_custom_field_to_custom_taxonomy/">カスタムフィールドで登録した情報をやっぱりカスタムタクソノミーに移行してみる</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12639</post-id>	</item>
		<item>
		<title>PhpStormの自動アップロード機能、除外ファイル設定をコピーして利用する</title>
		<link>https://www.doghands.com/copy-excluded-paths-settings-to-another-project-in-phpstorm/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Mon, 06 Jan 2020 04:33:01 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PhpStorm]]></category>
		<category><![CDATA[UnderStrap]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=12501</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010607-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>PHP開発IDE「PhpStorm」には、ファイルを変更すると自動でFTP接続と該当ファイルのアップロードを行う機能があります。 リモートサーバだけでは無く、ローカルフォルダも対象にすることができます。 まず、 Pref</p>
<p>投稿 <a href="https://www.doghands.com/copy-excluded-paths-settings-to-another-project-in-phpstorm/">PhpStormの自動アップロード機能、除外ファイル設定をコピーして利用する</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010607-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>PHP開発IDE「PhpStorm」には、ファイルを変更すると自動でFTP接続と該当ファイルのアップロードを行う機能があります。<br />
リモートサーバだけでは無く、ローカルフォルダも対象にすることができます。</p>
<p>まず、<br />
Preferences→Build, Execution, Deployment→Deployment<br />
で接続対象とアカウント、ディレクトリ等を入力（このあたりは通常のFTPソフトと同じです）します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010604.jpg" alt="" width="700" height="514" class="alignnone size-full wp-image-12504" /></p>
<p>その後、<br />
Preferences→Build, Execution, Deployment→Deployment→Options<br />
の「Upload changed files automatically to the default server」を「Never」から「Always」か「On explicit save action」に変更します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010601.jpg" alt="" width="700" height="514" class="alignnone size-full wp-image-12502" /></p>
<aside>「Always」はファイルの（自動保存含めた）保存時に常にアップロード。<br />
「On explicit save action」は⌘Sで明示的にファイルを保存した時のみアップロードします。<br />
私は「On explicit save action」にしています。<br />
</aside>
<h2>アップロード対象除外ファイルの設定</h2>
<p>この自動アップロード機能では、任意のファイルを対象から外すことができます。<br />
※Filezilla等、多くのFTPソフトでも同様の機能があります。<br />
例えばメモやGit関連、Gulp関連、最終的なCSS以外のSASSファイル等です。</p>
<p>設定はFTPアカウント管理画面の「Excluded Paths」から行います。<br />
例えば私が良く利用するBootstrap4のスターターテーマ「<a href="https://understrap.com/" rel="noopener noreferrer" target="_blank">UnderStrap</a>」の子テーマでは下の画像のようになります。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010602.jpg" alt="" width="700" height="514" class="alignnone size-full wp-image-12505" /></p>
<p>さて、この「Excluded Paths」ですが、設定が面倒な割に「複製」や「設定の書き出し」が見当たりません。<br />
実はこれらの情報はプロジェクトフォルダに作成される「.idea」ディレクトリの「deployment.xml」ファイルに記載されています。<br />
※参考:公式サイト「<a href="https://pleiades.io/help/phpstorm/creating-and-managing-projects.html" rel="noopener noreferrer" target="_blank">プロジェクトの作成と管理</a>﻿」</p>
<h3>「.idea」フォルダの確認</h3>
<p>「.idea」ファイルは見ての通り「.（ドット）」から始まるファイルで、多くのMacの設定では「.htaccess」同様、不可視ファイルとして扱われるため、Finderでも表示されません。<br />
不可視フォルダを表示するMacのショートカットキーは「command（⌘）」 + 「shift」 + 「.」です。<br />
これで「.idea」フォルダが表示されます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010606.gif" alt="" width="550" height="134" class="alignnone size-full wp-image-12507" /></p>
<h3>deployment.xmlの確認</h3>
<p>「deployment.xml」をクリックして開きます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010603.jpg" alt="" width="484" height="153" class="alignnone size-full wp-image-12506" /></p>
<p>paths→serverdata→excludedPathsノードに除外ファイルの情報が保存されています。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/PhpStorm-20010605.jpg" alt="" width="700" height="380" class="alignnone size-full wp-image-12503" /><br />
これを他のプロジェクトのdeployment.xmlにコピーして利用することが可能です。</p>
<p>投稿 <a href="https://www.doghands.com/copy-excluded-paths-settings-to-another-project-in-phpstorm/">PhpStormの自動アップロード機能、除外ファイル設定をコピーして利用する</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12501</post-id>	</item>
		<item>
		<title>WPMLでコンタクトフォーム7の翻訳をしてみよう</title>
		<link>https://www.doghands.com/using-contact-form-7-with-wpml/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Fri, 25 Oct 2019 01:37:03 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[Contact Form 7]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[WPML]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=12403</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/wpml-19102526-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>サイトの多言語化プラグインの定番「WPML」で、お問合せフォームプラグインの定番「コンタクトフォーム7」の各項目の翻訳をしてみましょう。 考えられる翻訳方法 コンタクトフォームの翻訳は次の方法が考えられます。 A:言語ご</p>
<p>投稿 <a href="https://www.doghands.com/using-contact-form-7-with-wpml/">WPMLでコンタクトフォーム7の翻訳をしてみよう</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/wpml-19102526-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>サイトの多言語化プラグインの定番「WPML」で、お問合せフォームプラグインの定番「コンタクトフォーム7」の各項目の翻訳をしてみましょう。</p>
<h2>考えられる翻訳方法</h2>
<p>コンタクトフォームの翻訳は次の方法が考えられます。<br />
A:言語ごとにコンタクトフォームを作成し、各言語の固定ページにそれぞれのショートコードを反映。<br />
B:専用のプラグイン、「Contact Form 7 Multilingual add-on」を利用して、ひとつのショートコードから生成されるフォームを言語で分岐。<br />
今回はBの方法を試してみます。</p>
<aside>
今回は「Contact Form 7 Multilingual add-on」を利用するタイプを紹介しますが、日本語→他の言語の場合、結局Aの方が楽な場合が多いです。<br />
例えば英語の場合、日本語フォームでよくある「フリガナ」も必要無いように、項目自体が変わることも多いです。<br />
※Bの場合でも、完了後に項目を編集することは可能です。<br />
</aside>
<h2>必要な環境、プラグインなど</h2>
<p>WPMLの初期設定は終了している前提です。<br />
また、日本語でのコンタクトフォーム7の作成も完了しておきます。<br />
その他必要なプラグインは下記の通りです。WPMLにログイン後、ダウンロードページからダウンロード、アップロード後有効化しておきましょう。<br />
「String Translation」<br />
「Translation Management add-on」<br />
「Contact Form 7 Multilingual add-on」<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102511.png" alt="" width="700" height="391" class="alignnone size-full wp-image-12420" /></p>
<p><img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102519.png" alt="" width="700" height="474" class="alignnone size-full wp-image-12428" /></p>
<h2>コンタクトフォーム7の翻訳</h2>
<p>それではフォームを翻訳していきましょう。</p>
<p>WPML→翻訳管理から、コンタクトフォームを絞り込み検索します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102506.png" alt="" width="152" height="369" class="alignnone size-full wp-image-12415" /></p>
<p>今回は「base」と名前を付けたコンタクトフォームを多言語化してみます。<br />
該当のフォームを選択して言語を選び、「翻訳バスケットに選択したコンテンツを追加」をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102510.png" alt="" width="700" height="582" class="alignnone size-full wp-image-12419" /></p>
<p>翻訳バスケットに移動し、トランスレーターを選び（もちろん自分で構いません）、「全てのアイテムを翻訳に送信する」をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102512.png" alt="" width="514" height="253" class="alignnone size-full wp-image-12421" /><br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102520.png" alt="" width="700" height="387" class="alignnone size-full wp-image-12429" /></p>
<p>WPML→翻訳をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102507.png" alt="" width="158" height="201" class="alignnone size-full wp-image-12416" /></p>
<p>「翻訳する」をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102508.png" alt="" width="700" height="122" class="alignnone size-full wp-image-12417" /></p>
<aside>
自動翻訳を行うかどうかのポップアップが表示された場合、自動翻訳の場合は注意が必要です。<br />
フォームのショートコードの「*」（必須項目）が削除されてしまう等、コード自体も変換されてしまうからです。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102514.png" alt="" width="587" height="114" class="alignnone size-full wp-image-12423" /><br />
但し、コンタクトフォーム7の翻訳項目はかなり多いので、まずは自動翻訳→間違って翻訳されたコード部分は手作業で修正、の方が早く終るかもしれません。<br />
</aside>
<p>とりあえず今回は青の「自分で翻訳する」を選択してみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102521.png" alt="" width="527" height="305" class="alignnone size-full wp-image-12430" /></p>
<p>各項目を選択し、翻訳していきます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102516.png" alt="" width="700" height="264" class="alignnone size-full wp-image-12425" /></p>
<p>雷マークは自動翻訳なので、使ってみましょう。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102515.png" alt="" width="700" height="224" class="alignnone size-full wp-image-12424" /></p>
<p>返信メールも同様に修正します。</p>
<p>編集が完了したら、「Finish」を押して完了します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102503.png" alt="" width="210" height="90" class="alignnone size-full wp-image-12412" /></p>
<p>これで、ひとつのお問合せフォームショートコードで複数の言語への対応が可能になりました。</p>
<p>フォームは、「お問合せ」からも多言語編集することができます。<br />
項目をがっちりと変更（フリガナを削除したり、郵便番号からの自動住所反映コードを変更したり、等）する場合はここから修正した方が早いかもしれません。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102525.png" alt="" width="372" height="590" class="alignnone size-full wp-image-12432" /><br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102524.png" alt="" width="700" height="375" class="alignnone size-full wp-image-12431" /></p>
<h3>後は微調整</h3>
<p>後は設計による誤差の微調整を行います。このフォームの場合、「必須」テキストがCSS（SCSS）の疑似要素で設定されている様子で、英語版でも「必須」のままです。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102513.png" alt="" width="483" height="242" class="alignnone size-full wp-image-12422" /><br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102504.png" alt="" width="234" height="272" class="alignnone size-full wp-image-12413" /></p>
<p>修正にはいろいろな方法（英語フォームでは読み込むCSSを変更したり、英語フォームにIDを付けてCSSを分岐等）がありそうですが、今回は「:lang擬似クラス」を使ってみます。<br />
使い方は「要素名:lang(言語コード) {プロパティ名:値;}」で、言語コードは<a href="https://ja.wikipedia.org/wiki/ISO_639-1%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7" rel="noopener noreferrer" target="_blank">こちらを参照してください</a>。ja（日本語）、en（英語）、es（スペイン語）、fr（フランス語）、zh（中国語）のような感じです。</p>
<p>CSS(SCSS)に追加してみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102502.png" alt="" width="229" height="388" class="alignnone size-full wp-image-12411" /></p>
<p>修正されました！<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/wpml-19102509.png" alt="" width="327" height="283" class="alignnone size-full wp-image-12418" /></p>
<p>投稿 <a href="https://www.doghands.com/using-contact-form-7-with-wpml/">WPMLでコンタクトフォーム7の翻訳をしてみよう</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12403</post-id>	</item>
		<item>
		<title>get_the_category()やget_the_terms()が効かない！そんな時はタームの順番入れ替えプラグインが原因かも</title>
		<link>https://www.doghands.com/simple-custom-post-order/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Fri, 04 Oct 2019 01:56:27 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=12339</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/2019-10-04-19100405-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>先日、当サイトで全てのタクソノミーの表示が消えました。 エラーでは無く、カテゴリーやカスタムタクソノミーのタームが全く登録されていないのと同じ状況です。 例えば、下のようなデフォルト投稿タイプのカテゴリー表示コードが全く</p>
<p>投稿 <a href="https://www.doghands.com/simple-custom-post-order/">get_the_category()やget_the_terms()が効かない！そんな時はタームの順番入れ替えプラグインが原因かも</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/2019-10-04-19100405-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>先日、当サイトで全てのタクソノミーの表示が消えました。<br />
エラーでは無く、カテゴリーやカスタムタクソノミーのタームが全く登録されていないのと同じ状況です。</p>
<p>例えば、下のようなデフォルト投稿タイプのカテゴリー表示コードが全く動作しない状態です。</p>
<p>[php]<br />
&lt;?php if ( get_post_type() === &#8216;post&#8217; ): //デフォルト投稿タイプ ?&gt;<br />
	&lt;?php<br />
	$category = get_the_category(); //カテゴリーは配列で取得<br />
	if ( isset( $category[0] ) ) { //カテゴリーの最初のひとつだけ表示<br />
		$category_link = get_category_link( $category[0]-&gt;term_id );<br />
		$category_name = $category[0]-&gt;cat_name;<br />
		$category_slag = $category[0]-&gt;category_nicename;</p>
<p>		$link = &#8216;&lt;a href=&quot;&#8217; . $category_link . &#8216;&quot; class=&quot;cat &#8216; . $category_slag . &#8216;&quot;&gt;&#8217; . $category_name . &#8216;&lt;/a&gt;&#8217;;<br />
		esc_html( $link );<br />
	}<br />
	?&gt;<br />
&lt;?php endif; ?&gt;<br />
[/php]</p>
<p>こういったカテゴリーの表示も消えました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/2019-10-04-19100401.png" alt="" width="292" height="204" class="alignnone size-full wp-image-12372" /></p>
<h2>まず一通り確認</h2>
<p>get_the_category()やget_the_terms()を使ったコードが全て表示されず、エラーも吐き出さない状態。<br />
コードは全て<br />
[php]if ( isset( $category[0] ) ) {[/php]<br />
のように、該当するタームがある場合のみ表示する条件なので、ターム自体が認識されていない状況です。</p>
<p>この場合考えられるのは<br />
・PHPアップデートによる関数の制限またはバグ<br />
・タクソノミーまたはタームが消えた<br />
・WordPressアップデートによるエラー<br />
・プラグインの干渉<br />
諸々です。<br />
サイト内の一部の不具合なので、サーバメンテナンス等の可能性はとりあえず除外して良いでしょう。</p>
<p>管理画面では、カテゴリーやカスタムタクソノミーのタームは問題無く存在していた為、次に<br />
カスタム投稿タイプ操作プラグイン「Custom Post Type UI」を一旦停止して様子を見てみましたが、状況は変わらず。<br />
そもそもデフォルトのタクソノミーである「カテゴリー」も「タグ」も取得できないので、カスタム投稿タイプやカスタムタクソノミーを操作する上記プラグインは関係無さそうです。</p>
<h2>プラグインを疑う</h2>
<p>簡易的なテストコードを作成し、タクソノミーの中身が入っているかどうかだけの判別をしても、「タームは無し」の状態なので、これは根本的に、WordPressがタクソノミーまたはタームを参照している場所が間違っている感じです。<br />
つまり、get_the_category()を実行しても「カテゴリーとか全然無かったよ！」と、WordPress的にはきちんと答えを返している状況です。</p>
<p>なんとなく、タクソノミーの順番入れ替えプラグインが怪しいです。</p>
<p>『Simple Custom Post Order』というそのものズバリのプラグインを停止してみたところ、不具合が直りました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/2019-10-04-19100402.png" alt="" width="403" height="179" class="alignnone size-full wp-image-12373" /></p>
<p>普段は『Intuitive Custom Post Order』という同様のプラグインを利用していたのですが、テストで入れ替えていました。</p>
<p>さっそくサポートを確認したところ、似たような状況の質問がりました。<br />
<a href="https://wordpress.org/support/topic/last-update-cause-dissapear-custom-taxonomies/" rel="noopener noreferrer" target="_blank">https://wordpress.org/support/topic/last-update-cause-dissapear-custom-taxonomies/</a><br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/2019-10-04-19100403.png" alt="" width="700" height="553" class="alignnone size-full wp-image-12374" /></p>
<p>前回のアップデート後にタクソノミーの表示が消えたとのことです。<br />
他に似たような報告は無さそうなので、複数の要因が重なった可能性があります。</p>
<h2>対応方法</h2>
<p>『Simple Custom Post Order』を削除して、再度インストールすることで問題が解決しました。</p>
<h3>まとめ</h3>
<p>・カスタム含めたタクソノミーのタームが存在しているのに<br />
・get_the_category()もget_the_terms()も値を返さない時は<br />
・記事やタームの順番入れ替え系のプラグインを確認</p>
<p>投稿 <a href="https://www.doghands.com/simple-custom-post-order/">get_the_category()やget_the_terms()が効かない！そんな時はタームの順番入れ替えプラグインが原因かも</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12339</post-id>	</item>
		<item>
		<title>管理画面の一覧にカスタムフィールドのデイトピッカーを表示すると更新時に問題発生(解決済)</title>
		<link>https://www.doghands.com/acf-datepicker-issue/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Thu, 05 Sep 2019 04:15:22 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPressプラグイン]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[カスタムフィールド]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=12267</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/acf-19090516-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>特殊な例なので参考になる人は少ないと思いますがメモ。 管理画面のカスタム投稿タイプ一覧に「Advanced Custom Fields」プラグインで作成したカスタムフィールド（日付:デイトピッカー）を表示。 更にその日付</p>
<p>投稿 <a href="https://www.doghands.com/acf-datepicker-issue/">管理画面の一覧にカスタムフィールドのデイトピッカーを表示すると更新時に問題発生(解決済)</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/acf-19090516-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>特殊な例なので参考になる人は少ないと思いますがメモ。<br />
管理画面のカスタム投稿タイプ一覧に「Advanced Custom Fields」プラグインで作成したカスタムフィールド（日付:デイトピッカー）を表示。<br />
更にその日付順で並べる、という作業を行いました。<br />
問題無く反映されたと思いきや、サイト更新時に不具合が発生したので解決方法の記録です。</p>
<h2>カスタムフィールドの項目を管理画面のカスタム投稿タイプの一覧に表示</h2>
<p>※下記プロジェクトは簡易化したサンプルです。実際は複数のカスタムフィールドの列を追加しています。</p>
<p>カスタム投稿タイプ「イベント(event)」の一覧に、カスタムフィールド「年月日(event_date)」の列を表示する必要がありました。</p>
<p>まずは列を追加して<br />
[php]<br />
//『event』カスタム投稿にカスタムフィールド『event_date』の項目を追加<br />
function add_column_to_event ( $columns ) {<br />
	$columns[&#8216;event_date&#8217;] = &quot;年月日&quot;;<br />
	return $columns;<br />
}<br />
add_filter( &#8216;manage_event_posts_columns&#8217;, &#8216;add_column_to_event&#8217; );<br />
&lt;/code&gt;<br />
[/php]</p>
<p>追加した項目に値（日付データ）を入れます。<br />
[php]<br />
//追加したカスタムフィールドの項目に値を表示<br />
function add_column_value_to_event ($column, $post_id) {<br />
	switch ( $column ) {<br />
		case &#8216;event_date&#8217; :<br />
			echo get_post_meta( $post_id , &#8216;event_date&#8217; , true );<br />
			break;<br />
	}<br />
}<br />
add_filter( &#8216;manage_event_posts_custom_column&#8217;, &#8216;add_column_value_to_event&#8217;, 10, 2 );<br />
[/php]</p>
<p>そして、カスタムフィールドで追加した日付順（降順）で並べます。下のような感じのコードになります。<br />
[php]<br />
//カスタム投稿『event』一覧を、カスタムフィールド『event_date』の降順で並べ替え<br />
function set_post_types_admin_order_to_event ( $wp_query ) {<br />
	if (is_admin()) {<br />
		$post_type = $wp_query-&gt;query[&#8216;post_type&#8217;];<br />
		if ( $post_type == &#8216;event&#8217; ) {<br />
			$wp_query-&gt;set(&#8216;meta_key&#8217;, &#8216;event_date&#8217;);<br />
			$wp_query-&gt;set(&#8216;orderby&#8217;, &#8216;meta_value&#8217;);<br />
			$wp_query-&gt;set(&#8216;order&#8217;, &#8216;DSC&#8217;);<br />
		}<br />
	}<br />
}<br />
add_filter( &#8216;pre_get_posts&#8217;, &#8216;set_post_types_admin_order_to_event&#8217; );<br />
[/php]</p>
<p>問題無く表示されました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090517.png" alt="" width="700" height="292" class="alignnone size-full wp-image-12290" /></p>
<h2>更新すると問題発生。日付形式が強制的に上書きされる</h2>
<p>しかし、過去のデータを編集し、保存しなおしたところ問題が発生しました。</p>
<p>例えばカスタムフィールドで登録した日付「2018/09/01」の記事を修正、保存すると、日付は変更していないのにも関わらず、一覧では「20180901」と表示され、順番が狂ってしまうのです。</p>
<p>つまり、保存時に日付のフォーマットが強制的に書き換えられているということです。</p>
<h2>原因。プラグインのアップデートによる仕様変更によるもの</h2>
<p>そこで、Advanced Custom Fields公式ドキュメントの「Date Picker」を確認してみます。<br />
<a href="https://www.advancedcustomfields.com/resources/date-picker/" rel="noopener noreferrer" target="_blank">https://www.advancedcustomfields.com/resources/date-picker/</a><br />
冒頭から理由が記載されていました。<br />
要約すると次のような感じです。</p>
<blockquote><p>
ACF(アドバンスドカスタムフィールド)の以前のバージョンには「保存形式（Save Format）」という設定が含まれていました。<br />
この設定により、開発者はDBに保存されている形式を変更できました。<br />
保存形式の指定は便利ではありますが、多くの問題を引き起こす為、新バージョンでは削除されました。<br />
現在は「YYYYMMDD」を唯一の保存フォーマットとしています。<br />
<cite><a href="https://www.advancedcustomfields.com/resources/date-picker/
" target="_blank" rel="noopener noreferrer">公式サイトより一部意訳</a></cite>
</p></blockquote>
<p>つまり、データベースには「2018/09/01」のフォーマットで保存されていても、新バージョンでは「20180901」で保存されるということです。</p>
<h3>データベースをチェックしてみる</h3>
<p>念の為phpMyAdminでデータベースを確認してみます。<br />
カスタムフィールドのキーと値はpost_metaテーブルに入っています。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090512.png" alt="" width="209" height="70" class="alignnone size-full wp-image-12283" /></p>
<p>該当のカスタムフィールドで検索してみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090514.png" alt="" width="700" height="317" class="alignnone size-full wp-image-12285" /></p>
<p>有りました。更新済の記事のみ基本フォーマットで保存されています。一覧表示での順序の崩れの原因が確定しました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090513.png" alt="" width="690" height="375" class="alignnone size-full wp-image-12284" /></p>
<h3>旧バージョン（5以前）を確認</h3>
<p>試しに<a href="https://www.advancedcustomfields.com/downloads/" rel="noopener noreferrer" target="_blank">プラグインダウンロードページ</a>で、旧バージョンのACFをダウンロード、確認してみます。適当にバージョン4.3.8をインストールしてみます。</p>
<p>なるほど、「フォーマットを保存する」の項目があります。覚えていませんが、恐らく以前ここでフォーマットを指定していたと思われます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090501.png" alt="" width="700" height="452" class="alignnone size-full wp-image-12272" /></p>
<p>ちなみに最新バージョンは下記のような画面です。<br />
※「Translation preferences」はマルチ言語プラグイン「WPML」によるもので、今回は無関係です。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090503.png" alt="" width="700" height="677" class="alignnone size-full wp-image-12274" srcset="https://www.doghands.com/wp-content/uploads/acf-19090503.png 700w, https://www.doghands.com/wp-content/uploads/acf-19090503-45x45.png 45w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<h2>修正する</h2>
<p>「じゃあ全部新しい形式にする為に記事を保存し直せばよいか」と言いたいところですが、このカスタム投稿タイプには1500程度の記事が登録されていました。<br />
元々、これらの記事はCSVから「<a href="http://notnil-creative.com/blog/archives/3465" rel="noopener noreferrer" target="_blank">Really Simple CSV Importer</a>」を使って一気に読み込んだものです。</p>
<p>CSVを確認したところ、確かに「2018/09/01」形式（Y/m/d）で日付を記入しています。ソフトはLibreOfficeを使っています。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090505.png" alt="" width="389" height="314" class="alignnone size-full wp-image-12276" /></p>
<p>何らかの方法で記事をCSVに書き出し、日付を一気に修正、読み込み直す、という方法は記事IDの保持が面倒そうなので、データベースを書き換えることにしました。</p>
<h3>データベースで日付を置換</h3>
<p>phpMyAdminにログイン後、SQLタブを開きます。<br />
「wp_postmeta」というテーブルの「event_date」キーにあるデータから、「/」を取り除きたい。つまり「2018/09/01」を「20180901」にしたい、というSQLクエリは下のように書きます。<br />
[sql][/sql]update wp_postmeta set meta_value=REPLACE(`meta_value`,&#8217;/&#8217;,&#8221;) where meta_key = &#8216;event_date&#8217;;[sql][/sql]</p>
<p>無事に全て置換されました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090504.png" alt="" width="593" height="351" class="alignnone size-full wp-image-12275" /></p>
<p>管理画面でもカスタムフィールドで指定した日付の降順で並んでいます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090515.png" alt="" width="299" height="309" class="alignnone size-full wp-image-12287" /></p>
<h3>日付の表示を修正</h3>
<p>管理画面とはいえ、この日付フォーマットは少々味気ないのでY/m/d形式で表示することにします。</p>
<p>値を表示するコードを下記のように修正します。<br />
[php]<br />
//追加したカスタムフィールドの項目に値を表示。日付フォーマットも変更。<br />
function add_column_value_to_event ($column, $post_id) {<br />
	switch ( $column ) {<br />
		case &#8216;event_date&#8217; :<br />
			$date = get_post_meta( $post_id , &#8216;event_date&#8217; , true );<br />
			$date = new DateTime($date);<br />
			echo $date-&gt;format(&#8216;Y/m/d&#8217;);<br />
			break;<br />
	}<br />
}<br />
add_filter( &#8216;manage_event_posts_custom_column&#8217;, &#8216;add_column_value_to_event&#8217;, 10, 2 );<br />
[/php]</p>
<p>表示形式が修正されました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19090506.png" alt="" width="127" height="495" class="alignnone size-full wp-image-12277" /></p>
<p>投稿 <a href="https://www.doghands.com/acf-datepicker-issue/">管理画面の一覧にカスタムフィールドのデイトピッカーを表示すると更新時に問題発生(解決済)</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12267</post-id>	</item>
		<item>
		<title>WordPressの新機能「サイトヘルスチェック」でトラブルを未然に防ごう</title>
		<link>https://www.doghands.com/site-health-check/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Thu, 09 May 2019 04:30:27 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[アイコン]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=11021</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050921-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>ワードプレス最新バージョン「WordPress 5.2 “Jaco”」がリリースされました。 &#8220;Jaco&#8221;は70年代中期〜80年代前半に活躍したアメリカのジャズベーシスト「ジャコ・パストリアス」由</p>
<p>投稿 <a href="https://www.doghands.com/site-health-check/">WordPressの新機能「サイトヘルスチェック」でトラブルを未然に防ごう</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050921-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>ワードプレス最新バージョン「WordPress 5.2 “Jaco”」がリリースされました。<br />
&#8220;Jaco&#8221;は70年代中期〜80年代前半に活躍したアメリカのジャズベーシスト「ジャコ・パストリアス」由来の命名との事。<br />
※彼は、ジョジョの奇妙な冒険第六部（ストーンオーシャン）でお馴染み「ウェザー・リポート」に所属していた時期もあります。</p>
<p>さて、今回のバージョンアップでは、<br />
・「サイトヘルスチェック」に関する管理画面ページの追加<br />
・PHP エラープロテクション（画面真っ白状態の回避）<br />
の大きなアップデートの他<br />
・アクセシビリティの向上<br />
・プラグイン互換性チェック<br />
・新しいダッシュボードアイコン<br />
などが改善項目として記載されています。</p>
<p>今回は、「サイトヘルスチェック」を確認してみます。<br />
<span id="more-11021"></span></p>
<h2>WordPressの新機能「サイトヘルスチェック」を使ってみる</h2>
<p>前回のリリース(5.1)では「サイトヘルス」機能が追加されていました。<br />
これは、古いバージョンのPHPを使っている場合にアラートを表示したり、PHPのバージョンの違いによりプラグインがトラブルを引き起こすと予測できる場合は、プラグインのインストールを許可しない、という機能です。</p>
<p>5.2では、上記に加えてより視覚的にホームページの状況を確認できるようになりました。</p>
<h3>「サイトヘルスチェック」ページの確認</h3>
<p>WordPress管理画面から「ツール」→「サイトヘルス」をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050912.png" alt="" width="208" height="157" class="alignnone size-full wp-image-11031" /></p>
<p>「サイトヘルスステータス」（ステータスタブ）が表示されました。<br />
セキュリティ系のプラグインを入れている方にはおなじみの項目かもしれません。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050910.png" alt="" width="1278" height="778" class="alignnone size-full wp-image-11029" srcset="https://www.doghands.com/wp-content/uploads/sitehealth-19050910.png 1278w, https://www.doghands.com/wp-content/uploads/sitehealth-19050910-768x468.png 768w" sizes="auto, (max-width: 1278px) 100vw, 1278px" /></p>
<p>上部の「Critical issues」がすぐに対応した方が良い項目。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050909.png" alt="" width="563" height="366" class="alignnone size-full wp-image-11028" /></p>
<p>次の「Recommended improvement」がおすすめの改善項目。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050913.png" alt="" width="889" height="260" class="alignnone size-full wp-image-11032" srcset="https://www.doghands.com/wp-content/uploads/sitehealth-19050913.png 889w, https://www.doghands.com/wp-content/uploads/sitehealth-19050913-768x225.png 768w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<p>最後の「テスト通過」ボタンを押すと、「サイトヘルスチェック」の確認を通過した項目が並びます。</p>
<h3>「サイトヘルスチェック」に従って環境を改善してみる</h3>
<p>とりあえず、「Recommended improvement」の「PHPの更新をおすすめします」の項目を改善してみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050913.png" alt="" width="889" height="260" class="alignnone size-full wp-image-11032" srcset="https://www.doghands.com/wp-content/uploads/sitehealth-19050913.png 889w, https://www.doghands.com/wp-content/uploads/sitehealth-19050913-768x225.png 768w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<p>エックスサーバの管理画面から、PHPを最新バージョンに変更します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050914.png" alt="" width="745" height="300" class="alignnone size-full wp-image-11033" /></p>
<p>しかし、戻ってもステータスに変化が無いので、「パフォーマンス」をクリックして詳細を確認。<br />
「PHP の更新についてさらに詳しく」のリンク先に飛んでみます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050911.png" alt="" width="781" height="157" class="alignnone size-full wp-image-11030" srcset="https://www.doghands.com/wp-content/uploads/sitehealth-19050911.png 781w, https://www.doghands.com/wp-content/uploads/sitehealth-19050911-768x154.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></p>
<p><strong>PHP7.3でしたか</strong>！<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050918.png" alt="" width="637" height="411" class="alignnone size-full wp-image-11034" /></p>
<p>エックスサーバで現在利用できるPHPのバージョンは現在（2019年5月9日時点）でPHP7.2xなので、もう少し待ちですね。<br />
エックスサーバ公式:<a href="https://www.xserver.ne.jp/manual/man_program_php_ver.php" rel="noopener noreferrer" target="_blank">PHPのバージョンについて</a><br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050919.png" alt="" width="700" height="666" class="alignnone size-full wp-image-11038" /></p>
<h3>古いデータベースサーバー</h3>
<p>もうひとつ表示されていた改善項目「古いデータベースサーバー」については数年前から自覚（今度やろう、今度やろうと早数年）しているので、これを機に修正しました。<br />
修正前。MariaDB5.5(MySQL5.0)<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050913.png" alt="" width="889" height="260" class="alignnone size-full wp-image-11032" srcset="https://www.doghands.com/wp-content/uploads/sitehealth-19050913.png 889w, https://www.doghands.com/wp-content/uploads/sitehealth-19050913-768x225.png 768w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<p>修正後。MariaDB5.5(MySQL5.7)<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/sitehealth-19050920.png" alt="" width="621" height="297" class="alignnone size-full wp-image-11035" /></p>
<p>データベースのバージョンアップに少し詰まったので、こちらはまた解説します。</p>
<p>追記、データベースバージョンアップを行いました。<br />
<a href="https://www.doghands.com/mysql-migration-tool-in-xserver/">エックスサーバ「MySQL移行ツール」でMySQL5.0からMySQL5.7へバージョン移行してみた</a></p>
<p>投稿 <a href="https://www.doghands.com/site-health-check/">WordPressの新機能「サイトヘルスチェック」でトラブルを未然に防ごう</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11021</post-id>	</item>
		<item>
		<title>ワードプレスにアップした画像が横向きになる時は「Exif情報」を削除で解決</title>
		<link>https://www.doghands.com/exif-remove/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Sat, 20 Apr 2019 11:44:35 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[WordPressプラグイン]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[エラー・イシュー]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=10466</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042008-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>ワードプレスにアップロードした画像が特定の閲覧環境、例えばスマホなどで横向きになってしまうことがあります。 この原因は多くの場合、JPEG画像に含まれるExif情報が関連しています。 Exif情報には、撮影日時、場所、デ</p>
<p>投稿 <a href="https://www.doghands.com/exif-remove/">ワードプレスにアップした画像が横向きになる時は「Exif情報」を削除で解決</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042008-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>ワードプレスにアップロードした画像が特定の閲覧環境、例えばスマホなどで横向きになってしまうことがあります。<br />
この原因は多くの場合、JPEG画像に含まれるExif情報が関連しています。<br />
Exif情報には、撮影日時、場所、デジカメの機種や各種設定が含まれていて、このなかに「カメラを横に構えているか、縦に構えているか等、カメラの向き（Orientation属性）」※の情報も保存されています。<br />
※Orientation属性は8種類に分かれていて、少し分かりづらいのですが、「写真が横向きになってしまう」ことの解決方法として理解する必要は無いので割愛します。<br />
<span id="more-10466"></span><br />
要は、WordPressにアップする画像から「Exif情報」を削除してしまえば画像の向きが勝手に変更される問題は無くなります。</p>
<aside>
撮影の位置情報が重要なサービスや、デジカメの比較サイトなどでは「Exif情報」が意味を持つ場合もありますが、通常は全部削除しても問題はありません。<br />
</aside>
<h2>方法その１、ローカルでExif情報を削除</h2>
<p>社内、または自分で画像加工する際にExif情報を削除しておきましょう。<br />
利用しているアプリ名と「Exif」「削除」でググれば大体出てくると思います。<br />
例えばPhotoshopであれば、「WEB用に書き出し」を行うと同時にExif情報も削除されます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042001.png" alt="" width="700" height="417" class="alignnone size-full wp-image-10468" /></p>
<p>多くの画像一括処理ソフトはデフォルトでExif情報は削除されます。<br />
例えば私が愛用しているMacの画像サイズ一括変更アプリ「<a href="http://www5.wind.ne.jp/miko/mac_soft/th-maker_x/" rel="noopener noreferrer" target="_blank">Th-MakerX</a>」でも、Exif情報の保持にチェックを入れない限りは削除されます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042002.png" alt="" width="700" height="924" class="alignnone size-full wp-image-10469" /></p>
<h2>方法その2、プラグインでExif情報を削除</h2>
<p><a href="https://ja.wordpress.org/plugins/ewww-image-optimizer/" rel="noopener noreferrer" target="_blank">EWWW Image Optimizer</a>プラグインが定番です。本来は画像のサイズ（容量）を圧縮するプラグインですが、Exif情報削除のみの目的でも利用できます。<br />
プラグイン→新規追加で「EWWW Image Optimizer」を検索、インストールします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042004.png" alt="" width="700" height="345" class="alignnone size-full wp-image-10471" /></p>
<p>設定→EWWW Image Optimizerを開き、「Basic」タブの「Remove Metadata」にチェックを入れます。<br />
これで、今後WordPressにアップロードする画像からはExif情報が削除されます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042005.png" alt="" width="700" height="416" class="alignnone size-full wp-image-10472" /></p>
<p>今までアップロードした画像も処理する場合は、<br />
メディア→一括最適化から、「最適化されていてない画像をスキャンする」をクリックし、処理を進めます。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042006.png" alt="" width="640" height="232" class="alignnone size-full wp-image-10473" /></p>
<p><img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/rem-exif-19042007.png" alt="" width="700" height="534" class="alignnone size-full wp-image-10474" /></p>
<p>ローカルで処理するのが確実ですが、スタッフが複数に渡る場合は「最後の関所」で例外を省くこの方法が有効でしょう。</p>
<h2>オンラインでExif情報を削除</h2>
<p>数枚の画像から手っ取り早くExif情報を消したい場合はオンラインサービスを使う選択肢もあります。<br />
「remove Exif online」あたりで検索すると複数のサービスが見つかります。<br />
例:<a href="https://www.verexif.com/en/" rel="noopener noreferrer" target="_blank">VIEW AND REMOVE EXIF ONLINE</a><br />
当然「他人のサービスに画像をアップロードして処理する」リスクはありますが、WEBに掲載する目的の画像であればリスクは若干さがります。</p>
<h2>まとめ。プロジェクトで自分が提出しているファイルで無駄なワークフローを生み出していないか確認しよう。</h2>
<p>個人のサイトで「画像が稀にに横になってしまう」程度であれば問題はありませんが、複数のスタッフからなるプロジェクトで、「この人からの画像ファイルは気をつけないと横になる」というのは非常に大きなムダを生みます。「珠にある事柄」のためにチェック項目が増えてしまうからです。</p>
<p>これは、チーム内の１人のみがWindowsで「シフトJIS/JIS」でファイルを編集、しかも①②③などの機種依存文字を多様、Macで受け取ったメンバーが毎回「㈰㈪㈫」の謎文字を探し、修正する、というあるあるにも似ています。</p>
<p>プロジェクトで自分が提出するファイルが無駄なワークフローを生み出していないか常にチェックしてみましょう。</p>
<p>投稿 <a href="https://www.doghands.com/exif-remove/">ワードプレスにアップした画像が横向きになる時は「Exif情報」を削除で解決</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10466</post-id>	</item>
		<item>
		<title>WordPressサイトで「403 Forbidden」エラーが表示された場合の意外な原因No1はこれ</title>
		<link>https://www.doghands.com/403-forbidden/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Wed, 10 Apr 2019 00:37:27 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[エラー・イシュー]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=10191</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/403-Forbidden-19040901-450x191.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>WordPressに限らず、サイトは突然落ちます。 真っ白になったり、PHPのエラーコードが吐き出されたりと様々です。 その中で、少なくとも弊社が経験したクライアントサイトの「403 Forbidden」エラーで一番多い</p>
<p>投稿 <a href="https://www.doghands.com/403-forbidden/">WordPressサイトで「403 Forbidden」エラーが表示された場合の意外な原因No1はこれ</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/403-Forbidden-19040901-450x191.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>WordPressに限らず、サイトは突然落ちます。<br />
真っ白になったり、PHPのエラーコードが吐き出されたりと様々です。<br />
その中で、少なくとも弊社が経験したクライアントサイトの「403 Forbidden」エラーで一番多い原因を紹介します。<br />
<span id="more-10191"></span><br />
そもそも「403 Forbidden」エラーとは？</p>
<blockquote><p>
HTTP 403、またはエラーメッセージ Forbidden（「閲覧禁止」「禁止されています」の意）は、HTTPステータスコードの一つ。ページが存在するものの、特定のアクセス者にページを表示する権限が付与されず、アクセスが拒否されたことを示すもの。また、サイトの制作者側の設計ミスによる障害やサイトが非常に混雑している時、URLが間違っている場合にも表示される事がある。
</p></blockquote>
<p>出典: フリー百科事典『ウィキペディア（Wikipedia）』</p>
<p>つまり、有名な「404エラー」（ページが存在しない）と違い、「ページはあるけどあなたは見ることが出来ません」というエラーメッセージです。</p>
<h2>「昨日まで問題なかったサイト」が突然「403 Forbidden」エラーで見えなくなったら</h2>
<p>「403 Forbidden」の原因は主に<br />
・サーバのWAF（ウェブアプリケーションファイアウォール）設定によるセキュリティで弾かれている※最近はあまりありません<br />
・「.htaccess」ファイルの誤設定<br />
・各種ファイルのパーミッションを書き換えてしまった<br />
・新規ドメインやサーバ移動などで諸々の設定が反映されていない<br />
等があります。</p>
<p>但し、これらはホームページ制作者であれば触ることもあるかもしれませんが、お客様サイトで、何も触っていないのに「403 Forbidden」エラーが出た場合の原因は、殆どが<br />
<strong>サーバの更新手続きや支払いを行っておらず、サービスが停止された</strong><br />
が原因です。<br />
意外と大きな会社に多く、「サーバの取得は別の部署」「サーバアカウントの連絡先の社員が退社」「クレジットカードの利用が禁止されており、銀行振り込み。督促メールも未確認。」「取り急ぎクレジットカードは社長のものを使ったが、カード番号更新の際にサーバ側が決済できず（いわゆる「洗い替え」を行なっていない）、社長も当然の如くサーバ会社からの未決済メールは未確認。」などの事情が重なり、サービス停止に至ります。</p>
<h2>WordPressサイトで突然の「403 Forbidden」エラー、まとめ</h2>
<p>すぐにサーバの管理画面にログイン、支払い状況を確認しましょう。<br />
ほとんどのサーバは支払い後復旧可能です。<br />
その後、アカウントの連絡先アドレスを確認、特定の個人スタッフの場合は、会社のメインメール（info@・・・等）に変更しておきましょう。<br />
また、同時に「ドメイン管理サービス」の支払い状況もチェックしておきましょう。（ドメインのほうが停止された場合深刻です）</p>
<p>投稿 <a href="https://www.doghands.com/403-forbidden/">WordPressサイトで「403 Forbidden」エラーが表示された場合の意外な原因No1はこれ</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10191</post-id>	</item>
		<item>
		<title>大量の記事をまとめて一気に削除！便利プラグイン【WP Bulk Delete】</title>
		<link>https://www.doghands.com/wp-bulk-delete/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Sat, 23 Mar 2019 13:06:43 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[WordPressプラグイン]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=9905</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032201-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>WordPressで大量の記事を一気に消したい事がたまにあります。 例えばテスト環境で、今あるCSVデータを反映して表示部分を調整したい、でも元データはクライアントがアップデートしているので、随時テスト環境はクリアにして</p>
<p>投稿 <a href="https://www.doghands.com/wp-bulk-delete/">大量の記事をまとめて一気に削除！便利プラグイン【WP Bulk Delete】</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032201-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>WordPressで大量の記事を一気に消したい事がたまにあります。<br />
例えばテスト環境で、今あるCSVデータを反映して表示部分を調整したい、でも元データはクライアントがアップデートしているので、随時テスト環境はクリアにして最新データを反映したい、等です。<br />
そんな時に便利なプラグインを紹介します。</p>
<h2>大量の記事データを一気に削除する</h2>
<h3>方法その１「ページごとに表示する項目数」を増やして、一気に削除</h3>
<p><strong>結論。大量の場合はお勧めしません。</strong><br />
数年前、大量の記事を「一括操作」で編集しようとして、何の気なしに「ページごとに表示する項目数」を500（多分上限は999だったと思います）にしたところ、ブラウザが全く反応しなくなりました。<br />
WordPressを扱う人間の大半が経験する「5分前まではあんなに普通の日常だったのに」というやつです。</p>
<aside>「5分前まではあんなに普通の日常だったのに」<br />
・正規表現の検索のつもりが、置換（置換対象は空白スペース）を押してしまう。数千のデータが空白スペースと置換される。<br />
・何の気なしに設定→一般からサイトのメイン言語を変えてみたら謎のサイトダウン<br />
・何の気なしPHPバージョンを上げてみたら、同サーバ内の昔のサイトが軒並みダウン<br />
等です。※若かりし頃の話としておきます。<br />
</aside>
<p>そのときの対処方法は<a href="https://www.doghands.com/wordpress-display-options/">「ページごとに表示する項目数」を増やし過ぎてブラウザが固まった時は</a>に書いています。<br />
簡単に説明すると、管理画面のすべてが固まったと思いきや「記事の検索」だけは動作していたので、そこで意図的に数件しかヒットしない単語（等サイトでは「犬」等）を入れ、検索結果画面に移動。<br />
そこでおもむろに表示オプションの「ページごとに表示する項目数」を減らす（そのときはもう500で固まったことが恐ろしくて、デフォルトの「20」も怖く、「6」としました。）です。<br />
※現在はまた油断して「100」くらいにしている投稿タイプもあります。</p>
<p>一応説明します。<br />
投稿一覧の上部、「表示オプション」をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032302.png" alt="" width="582" height="150" class="alignnone size-full wp-image-9911" /><br />
「ページ毎に表示する項目数」を増やします。<br />
消したい記事の数だけ増やしたいところですが、ブラウザが固まる恐れがあるので100〜200くらいが妥当だと思います。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032303.png" alt="" width="700" height="245" class="alignnone size-full wp-image-9912" /><br />
全選択をしてから<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032305.png" alt="" width="552" height="284" class="alignnone size-full wp-image-9914" /><br />
一括編集→ゴミ箱へ移動、をクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032304.png" alt="" width="700" height="437" class="alignnone size-full wp-image-9913" /><br />
※「全選択」はあくまで「そのページに表示されている記事を全選択」なので、1000を超える場合でも1ページの表示数は200程度に抑え、ページ遷移して地道に消しましょう。私のように「ページごとに表示する項目数」を増やすと痛い思いをします。</p>
<h3>方法その2「プラグインを使う」</h3>
<p>これがベストだと思います。解説します。</p>
<h2>WP Bulk Deleteで大量の記事を一発で全削除</h2>
<h3>WP Bulk Deleteのインストール</h3>
<p>プラグイン→新規追加からWP Bulk Deleteを検索してインストールします。<br />
※または<a href="https://ja.wordpress.org/plugins/bulk-delete/" rel="noopener noreferrer" target="_blank">こちら</a>からダウンロードしてインストール。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032310.png" alt="" width="700" height="383" class="alignnone size-full wp-image-9919" /></p>
<h3>WP Bulk Deleteの使い方</h3>
<p>プラグインを有効化すると、管理画面サイドバーに「WP Bulk Delete」が表示されるのでクリックします。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032306.png" alt="" width="380" height="386" class="alignnone size-full wp-image-9915" srcset="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032306.png 380w, https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032306-45x45.png 45w" sizes="auto, (max-width: 380px) 100vw, 380px" /><br />
最初のタブは「Clean up」で、リビジョンやゴミ箱を消去してくれます。今回は記事を削除したいので、隣の「By Posttype」をクリックします。</p>
<aside>タクソノミー（カテゴリー、タグ等）、執筆者、タイトルや記事内のキーワード検索結果、カスタムフィールド、全部組み合わせての消去、などが選べます。</aside>
<p><img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032307.png" alt="" width="700" height="283" class="alignnone size-full wp-image-9916" /><br />
全削除したい投稿タイプを選択します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032308.png" alt="" width="700" height="490" class="alignnone size-full wp-image-9917" /><br />
「Delete Posts」をクリックして完了です。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/WP-Bulk-Delete-19032309.png" alt="" width="700" height="525" class="alignnone size-full wp-image-9918" /></p>
<h3>その他</h3>
<p>SQL(WordPressの国内環境の場合はほぼMySQL)でコントロールするのがベストだとは思います。<br />
DELETE FROM wp_posts WHERE 〜のように指定したら1分もかからないじゃないか、という意見もあるでしょう。<br />
ただし、<br />
・私自身、過去25年に渡りSQL直接いじってやらかした経験は大量<br />
・やっと慣れてきて、スタッフにお勧めしたところ、懐かしいくらい私のミスを踏襲<br />
・SQLでぱぱっとできる人はこの記事を必要としない<br />
ことから、SQL直接いじりは省きます。</p>
<p>投稿 <a href="https://www.doghands.com/wp-bulk-delete/">大量の記事をまとめて一気に削除！便利プラグイン【WP Bulk Delete】</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9905</post-id>	</item>
		<item>
		<title>【復旧は簡単】エラー「Briefly unavailable for scheduled maintenance. Check back in a minute.」が表示されたときは</title>
		<link>https://www.doghands.com/briefly-unavailable-for-scheduled-maintenance-check-back-in-a-minute/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Fri, 01 Mar 2019 02:18:53 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[エラー・イシュー]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=9611</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/maintenance-19030101-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>WordPressのプラグインアップデート中に、稀にサイト、管理画面共エラー画面で停止してしまうことがあります。 エラーメッセージは「Briefly unavailable for scheduled maintenan</p>
<p>投稿 <a href="https://www.doghands.com/briefly-unavailable-for-scheduled-maintenance-check-back-in-a-minute/">【復旧は簡単】エラー「Briefly unavailable for scheduled maintenance. Check back in a minute.」が表示されたときは</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/maintenance-19030101-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>WordPressのプラグインアップデート中に、稀にサイト、管理画面共エラー画面で停止してしまうことがあります。<br />
エラーメッセージは「Briefly unavailable for scheduled maintenance. Check back in a minute.」です。<br />
<span id="more-9611"></span><br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/maintenance-19030101.png" alt="" width="700" height="383" class="alignnone size-full wp-image-9612" /></p>
<h2>復旧方法</h2>
<p>FTPソフトでWordPressのインストールディレクトリ※を開き、「.maintenance」というファイルを削除して完了です。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/maintenance-19030102.png" alt="" width="251" height="224" class="alignnone size-full wp-image-9613" /></p>
<aside>
WordPressのインストールディレクトリ→「wp-admin」「wp-content」「wp-includes」などが直下にあれば、そこがインストールディレクトリです。<br />
</aside>
<h3>「.maintenance」が見当たらない</h3>
<p>FTPソフトの設定を確認しましょう。「.」始まるファイル（.htaccessなど）を非表示にしているかもしれません。<br />
Filezillaであれば、フィルターをオフにして確認しましょう。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/maintenance-19030103.png" alt="" width="700" height="430" class="alignnone size-full wp-image-9614" /></p>
<h2>エラーの原因</h2>
<p>プラグインのアップデート中はメンテナンスモードに入っています。通常は数秒なので意識しませんが、この間にアップデート中のプラグインを開いたり記事の更新を行おうとすると、メンテナンスモードから回復できなくなることがあります。<br />
これが「Briefly unavailable for scheduled maintenance. Check back in a minute.」エラーの原因です。</p>
<h2>時間が経つと回復することも</h2>
<p>最近は2回ほどこのエラーを誘発してしまいましたが、「.maintenance」ファイルを探しているうちに回復していました。<br />
見た目的に動きが無いので不安になりますが、3分程度待ってみるのも良いでしょう。</p>
<p>投稿 <a href="https://www.doghands.com/briefly-unavailable-for-scheduled-maintenance-check-back-in-a-minute/">【復旧は簡単】エラー「Briefly unavailable for scheduled maintenance. Check back in a minute.」が表示されたときは</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9611</post-id>	</item>
		<item>
		<title>Advanced Custom Fieldsの「Wysiwyg エディター」の出力で挿入されるpタグを除去する</title>
		<link>https://www.doghands.com/advanced-custom-fields%e3%81%ae%e3%80%8cwysiwyg-%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%83%bc%e3%80%8d%e3%81%ae%e5%87%ba%e5%8a%9b%e3%81%a7%e6%8c%bf%e5%85%a5%e3%81%95%e3%82%8c%e3%82%8bp%e3%82%bf/</link>
		
		<dc:creator><![CDATA[hiro]]></dc:creator>
		<pubDate>Thu, 21 Feb 2019 10:57:52 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ウェブ制作・運用]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress全般]]></category>
		<category><![CDATA[カスタムフィールド]]></category>
		<guid isPermaLink="false">https://www.doghands.com/?p=9565</guid>

					<description><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/acf-19022109-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p>
<p>カスタムフィールドを追加/管理する定番WordPressプラグイン「Advanced Custom Fields」。 テキストや画像、投稿オブジェクトなど、様々なフィールドが使えます。 その中で「Wysiwyg エディタ</p>
<p>投稿 <a href="https://www.doghands.com/advanced-custom-fields%e3%81%ae%e3%80%8cwysiwyg-%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%83%bc%e3%80%8d%e3%81%ae%e5%87%ba%e5%8a%9b%e3%81%a7%e6%8c%bf%e5%85%a5%e3%81%95%e3%82%8c%e3%82%8bp%e3%82%bf/">Advanced Custom Fieldsの「Wysiwyg エディター」の出力で挿入されるpタグを除去する</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="450" height="191" src="https://www.doghands.com/wp-content/uploads/acf-19022109-450x191.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" /></p><p>カスタムフィールドを追加/管理する定番WordPressプラグイン「Advanced Custom Fields」。<br />
テキストや画像、投稿オブジェクトなど、様々なフィールドが使えます。<br />
その中で「Wysiwyg エディター」の利用時の注意点について解説します。<br />
<span id="more-9565"></span></p>
<h2>カスタムフィールドの登録</h2>
<p>このような感じでWysiwygエディターのフィールドを追加してみます。<br />
フィールドタイプは「Wysiwygエディター」を選択します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19022103.png" alt="" width="700" height="393" class="alignnone size-full wp-image-9576"></p>
<p>投稿画面で適当にテキストを入力します。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19022104.png" alt="" width="700" height="453" class="alignnone size-full wp-image-9577"></p>
<h2>カスタムフィールドの表示</h2>
<p>投稿表示用のテンプレート（通常はsingle.php）の[code]&amp;lt;?php the_content(); ?&amp;gt;[/code]<br />
の下に、フィールド表示用のコードを追加します。<br />
pタグで囲み、太字・赤文字で出力してみます。<br />
[code]<br />
&amp;lt;?<br />
$wysiwyg = get_field( &#8216;wysiwyg_test&#8217; );//wysiwyg_testはフィールド名<br />
if ( $wysiwyg ) {<br />
echo &#8216;&amp;lt;p class=&quot;font-weight-bold text-danger&quot;&amp;gt;&#8217; . $wysiwyg . &#8216;&amp;lt;/p&amp;gt;&#8217;;//pタグで囲みクラスを追加<br />
}<br />
?&amp;gt;<br />
[/code]<br />
結果を確認します。<br />
テキストは表示されていますが、意図した装飾が反映されていません。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19022105.png" alt="" width="700" height="283" class="alignnone size-full wp-image-9578"></p>
<p>コードを確認すると、クラスを付与したpタグが閉じられ、新しくpタグが追加されてしまっています。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19022106.png" alt="" width="700" height="364" class="alignnone size-full wp-image-9579"></p>
<h2>意図しないpタグの原因</h2>
<p>カスタムフィールドを取得する関数「get_field」（表示はthe_field）には3つの引数があり、そのうちの1つが自動整形を担当し、デフォルトでは有効になっています。<br />
これが意図しないpタグのクローズと追加の原因です。</p>
<h3>「get_field」関数の引数</h3>
<p>[code]get_field($selector, [$post_id], [$format_value]);[/code]<br />
$selectorはフィールド名です。必須の引数です。<br />
$post_idは投稿IDです。デフォルトでは現在の記事を取得するので、空白またはfalseで問題ありません。<br />
投稿ID123の「text_field」を取得する場合は下記のように書きます。<br />
[code]$value = get_field( &quot;text_field&quot;, 123 );[/code]<br />
$format_valueがコードの整形に関する引数で、デフォルトではtrueになっています。これが整形の原因です。</p>
<p>参考:<a href="https://www.advancedcustomfields.com/resources/get_field/" rel="noopener" target="_blank">公式ドキュメント</a></p>
<p>それでは上記を踏まえ、引数の2番目と3番目を「false」にしてコードを修正してみます。<br />
[code]<br />
&amp;lt;?<br />
$wysiwyg = get_field( &#8216;wysiwyg_test&#8217;,false,false );//wysiwyg_testはフィールド名<br />
if ( $wysiwyg ) {<br />
echo &#8216;&amp;lt;p class=&quot;font-weight-bold text-danger&quot;&amp;gt;&#8217; . $wysiwyg . &#8216;&amp;lt;/p&amp;gt;&#8217;;//pタグで囲みクラスを追加<br />
}<br />
?&amp;gt;<br />
[/code]</p>
<p>結果を確認します。<br />
意図したとおり、クラスを付与したpタグで囲まれ、文字も装飾されました。<br />
しかし、整形機能をオフにしたことで、今度は改行が無視されてしまいました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19022107.png" alt="" width="700" height="354" class="alignnone size-full wp-image-9580"></p>
<h2>改行を反映させる</h2>
<p>改行を反映させるには、PHPの関数「nl2br」を使います。<br />
参考:<a href="http://php.net/manual/ja/function.nl2br.php" rel="noopener" target="_blank">公式ドキュメント</a><br />
この関数は、テキストの改行文字(\r\n、 \n\r、\n および \r) の前に<br />
を付与して文字列を返します。<br />
基本的は使い方は下記の通りです。<br />
[code]echo nl2br(&#8216;改行入りの文字列&#8217;);[/code]</p>
<p>「nl2br」を利用してコードを修正してみます。<br />
[code]<br />
&amp;lt;?<br />
$wysiwyg = get_field( &#8216;wysiwyg_test&#8217;,false,false );//wysiwyg_testはフィールド名<br />
if ( $wysiwyg ) {<br />
echo nl2br(&#8216;&amp;lt;p class=&quot;font-weight-bold text-danger&quot;&amp;gt;&#8217; . $wysiwyg . &#8216;&amp;lt;/p&amp;gt;&#8217;) ;//pタグで囲みクラスを追加<br />
}<br />
?&amp;gt;<br />
[/code]</p>
<p>確認します。<br />
無事改行が反映されました。<br />
<img loading="lazy" decoding="async" src="https://www.doghands.com/wp-content/uploads/acf-19022108.png" alt="" width="700" height="452" class="alignnone size-full wp-image-9581"></p>
<p>投稿 <a href="https://www.doghands.com/advanced-custom-fields%e3%81%ae%e3%80%8cwysiwyg-%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%83%bc%e3%80%8d%e3%81%ae%e5%87%ba%e5%8a%9b%e3%81%a7%e6%8c%bf%e5%85%a5%e3%81%95%e3%82%8c%e3%82%8bp%e3%82%bf/">Advanced Custom Fieldsの「Wysiwyg エディター」の出力で挿入されるpタグを除去する</a> は <a href="https://www.doghands.com">studioDoghands</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9565</post-id>	</item>
	</channel>
</rss>
