Yearly Archives: 2020

Custom Field Suiteの「ループ(複製フィールド) 」を CFS()->getを使わずに出力

Custom Field Suiteのプラグインを停止しても既存のカスタムフィールドにすでに入力しているデータを出力したい場合、get_post_meta()をつかってどうやって処理すればよいのか。

Custom Field Suiteの繰り返しフィールドは、
通常
CFS()->get(‘繰り返しフィールド名’,ポストID);
で出力されますが、
get_post_meta(ポストID,’繰り返しフィールド名’,false);
では出力できません。

例えば、
繰り返しフィールド名 ‘photos’;
 その中に、’photo_url’と’photo_text’の2つのフィールドを設定した場合。

Custom Field Suiteを使っている場合は、
$photos = CFS()->(‘photos’,$post->ID);

foreach($photos as $photo){
echo $photo[‘photo_url’];
}

としていると思いますが、

$photo_url = get_post_meta($post->ID, ‘photo_url’, false);
$photo_text = get_post_meta($post->ID, ‘photo_text’, false);
$count_total = count($photo_url);
$photos = array();
for($i = 0; $i < $count_total; $i++){ $photos[$i][‘photo_url’]=$photo_url[$i]; $photos[$i][‘photo_text’]=$photo_text[$i]; } とすることで、 CFS()->getを使わずに
同じ$photosを得ることができます。

ちょっと面倒ですが、
Custom Field Suite
から
Advanced Custom Fields PRO
に乗り換えるときなど、過去のデータを表示するにはこの処理が必要になるでしょう。

リダイレクトが繰り返し行われました

さくらインターネットを利用中のサイトで、昨日(2020/5/29)から

このページは動作していません
www.example.comでリダイレクトが繰り返し行われました。
Cookie を消去してみてください.
ERR_TOO_MANY_REDIRECTS

と出る場合との報告が上がっています。

Really Simple SSLを使用してSSLをリダイレクトされている場合は、
サイトルートの .htaccessが以下のようになっていたら、

# BEGIN rlrssslReallySimpleSSL rsssl_version[3.2.X]

RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# END rlrssslReallySimpleSSL

下記ように書き換えるとなおります。

# BEGIN rlrssslReallySimpleSSL rsssl_version[3.3.3]

RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# END rlrssslReallySimpleSSL

サーバーの設定が変わったのではないでしょうか。
さくら側からの事前報告があったかどうかは不明です。