diviの日本語翻訳バグを修正する方法

diviは世界中の多くの言語に翻訳されていますが、やはり現地の人なみの翻訳を期待するのは厳しいときがあります。

今回気付いたのはメールフォームのエラー文を吐き出す際に「、次のフィールドに入力してください:」と「、」が次のフィールド…の文前に入っているところです。

そんなときに触る箇所をご紹介します。

あなたのURL/wp-content/themes/Divi/includes/builder/languages

ここの「ja.mo」が日本語翻訳ファイルです。
.moの拡張子だとテキスト編集が出来ないので、.moファイルから.poファイルに変更します。

▼.mo→.po .po→.moに変換するサービス
http://tools.konstruktors.com/

あとは該当箇所のテキストを変更して、最初と同様に.poファイルを.moファイルに変換して、サーバーに上書きして完了です。

2019/3/14時点の最新ja.moファイルです。
ja.moファイルをダウンロードする

※ファイルをDLして利用される方はきちんとバックアップをとって、自己責任でご利用ください。
※何かあっても一切の責任は取りません。

wordpress Divi購入

以前からDivi使いの友人にいかにDiviが素晴らしいか聞いていたので存在は知っていたのだけれど、いろいろと実感する場面があり、私も導入することに決めました(笑)

Diviは有料のプラグインで、HTMLの知識がない人でもドラッグ&ドロップでHPを作成することが出来、なおかつ種類豊富なテンプレートが用意されているので、そのテンプレートを基に写真を入れ替えたり、文章を修正したりと至れりつくせりです。

Divi公式HPではDiviを利用したデモサイトをご覧頂くことが出来ます。
https://www.elegantthemes.com/gallery/divi/

 

他ブログのRSSの最新情報をサムネイル付きで表示(WordPress)

今回自分の運営しているwordpressサイトのRSSを取得して最新情報(サムネイル付)一覧を表示したので備忘録としてまとめます。

サムネイル付きというのが案外難しくて、どうもSSL化した無料SSL証明書「Let’s Encrypt」が原因らしいという記事も出回っていましたが、今回表示するサイトも取得したいサイトもLet’s EncryptのSSLを使用していましたが表示出来ました。

やったこと

  1. RSSを取得したいサイトのrssfeedにサムネイルurlを吐き出すようにさせた
  2. 表示したいサイトに取得するタグを打った
  3. 完了

RSSを取得したいサイトのrssfeedにサムネイルurlを吐き出すようにさせた

次のタグをfunction.phpの最後に追加しました。

/* 【RSS】RSS フィードにアイキャッチ画像を表示 */
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$thumbnail_id = get_post_thumbnail_id($post->ID); // アイキャッチ画像の ID を取得
$thumbnail = wp_get_attachment_image_src( $thumbnail_id, ‘medium’ ); // medium サイズの画像情報を取得
$thumbnail_url = $thumbnail[0]; // URL を取得
$content = ‘<p><img src=”‘.$thumbnail_url.'” alt=”‘.get_the_title().'” /></p><p>’.$content.'</p>’;
} else {
$content = ‘<p><img src=”‘.get_template_directory_uri().’/common/images/noimg.jpg” alt=”‘.get_the_title().'” /></p><p>’.$content.'</p>’;
}
return $content;
}
add_filter(‘the_excerpt_rss’,’rss_post_thumbnail’);
add_filter(‘the_content_feed’,’rss_post_thumbnail’);

表示したいサイトに取得するタグを打った

<div id=”toprss”>
<?php
include_once(ABSPATH . WPINC . ‘/feed.php’);
$rss = fetch_feed(array(
‘RSSのURL’
));
if (!is_wp_error( $rss ) ) :
$rss->set_item_limit(5);
$rss->set_cache_duration(1800);
$rss->init();
$maxitems = $rss->get_item_quantity(5);
$rss_items = $rss->get_items(0, $maxitems);
date_default_timezone_set(‘Asia/Tokyo’);
endif;
?>
<ul class=”other_rss”>
<?php if ($maxitems == 0) echo ‘<li>更新情報がありません。</li>’;
else
foreach ( $rss_items as $item ) : ?>
<li>
<?php
echo ‘<a href=”‘ . esc_url( $item->get_permalink() ) . ‘”>’;
if ( preg_match_all( ‘/src=”([^”]*)”/’, $item->get_content(), $image ) ) {
if ($image[1]) {
echo ‘<img src=”‘ . esc_url( $image[1][0] ) . ‘” alt=”no title”/>’;
}
}
echo ‘</a>’; ?><br>
<?php echo $item->get_date(“Y年n月j日”); ?><br><a href='<?php echo $item->get_permalink(); ?>’ target=”_blank”>
<?php echo $item->get_title(); ?></a>
</li>
<?php endforeach; ?>
</ul></div>

以上です。

一応「$rss->set_cache_duration(1800);」で60秒×α分=1800(今回α=30分)で、通常12時間ほどかかるキャッシュを早めに取得するようにしているのがミソです。
それでももし取得に時間がかかっていると感じた場合はwp-includes/feed.phpを開き

$feed->set_cache_duration( apply_filters( ‘wp_feed_cache_transient_lifetime’, 12 * HOUR_IN_SECONDS, $url ) );

$feed->set_cache_duration( apply_filters( ‘wp_feed_cache_transient_lifetime’, 1800, $url ) );

に変えてみてください。

【注意】Google+の機能を2019/4/7までにHP上から撤去してください

Googleより先日メールが来ました。
内容としてはGoogle+の終了に伴い、HP上からGoogle+に関連するコードを削除してください、とのことでした。

おそらくSNS関連のツールだと思いますが、いくつか運営しているサイトのチェックをしないといけないので大変です。
皆様も自分のHPやブログをお持ちの方で下記の機能をつけている方はお気をつけください。

ボタン(などが含ま+1ボタン 、 フォローボタン 、 ハングアウトボタン 、およびシェアボタン )、 バッジ 、およびインタラクティブな投稿

Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in

いよいよ2018年をもってPHPのバージョン5.X~はサポートが切れましたね。
そこでwordpressのPHPのバージョンを7.2など最新版にされる方が多いと思います。

今回はバージョンアップしたことで出たエラー文をまとめたいと思います。
ちなみに出てきたエラー文はこれ。

Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in ~~

これは何が原因だったかというとファイルの始まり文が<?php?>になっていたことです。
厳密には<?php ?>とphpの後ろに半角スペースがなかったことでエラーが出ました。

きっ、きびしい…!
手直しするサイトがいくつか出てきそうです。

WordPressでPHP 5系を使用している人は注意

PHP 5系のサポートは2018年末で終わります。

https://secure.php.net/supported-versions.php

PHP 5.6は2018年末にサポートが終了します。
PHP 7.0は既にサポートが終了しています。

レンタルサーバーによっては管理画面からPHPのバージョンを切り替えることができる場合があります。その場合はPHP 7.2など、なるべく新しいバージョンに変えた方が良いでしょう。

wordpressの記事を最初から「テキスト」にする方法

wordpressの管理画面で投稿記事や固定ページの更新や新規記事を書くときに困ること。

それは初期設定の「ビジュアル」。

ビジュアルエディタはHTMLを変形させる癖があるので、出来るだけ避けたいんですよね。
というわけで、それを回避するための設定をします。

テーマのfunctions.phpに下記のように記載します。

add_filter( ‘wp_default_editor’, create_function( ”, ‘return “html”;’ ) );

これでビジュアルを避けることが出来ます。

ちなみにテーマの更新でfunction.phpが元に戻るので毎回変更するなど気をつけてください。

WordPress 用プラグイン Google XML Sitemaps におけるクロスサイトスクリプティングの脆弱性

4.0.9 およびそれ以前のWordPress 用プラグイン Google XML Sitemaps には、クロスサイトスクリプティングの脆弱性が存在します。
最新状態にアップデートしてください。
https://jvn.jp/jp/JVN27052429/?fbclid=IwAR3YXK4gyRiCFufqmmOjbQOcIef0ZQFSCfwAuKWCsmxOuLJ_nPJJddSzXHQ

影響

当該プラグインを使用している WordPress サイトを複数の管理者が共同管理している状況で、悪意を持った管理者が細工した入力を行うことで、他の管理者がプラグイン設定ページにアクセスした際に、ウェブブラウザ上で任意のスクリプトを実行される可能性があります。

heteml 新サーバーへの移行手順について

常時SSL化の波が押し寄せています。
hetemlサーバーでSSL化をするにあたり行った流れをまとめてみました。

1.新サーバーに移行する必要があるのかを知る

SSL化するにあたって新サーバーに移る必要があるかどうかはコントロールパネルにログインして、自分のwebサーバー名を確認する必要があります。
管理画面右上のWebサーバー番号がftpXXXのアカウントであれば新サーバーに移行しないとSSL化することが出来ません。
Webサーバー番号がusersXXXであれば移行する必要はありません。

2.現サーバーから全てのファイルをダウンロードした

まずはバックアップを取ります。取りこぼすと後で戻りたくても戻れない状態になるので注意してください。

3.サーバー移行のボタンを押す

サーバー移行ボタンを押すと新しく新サーバーが用意されます。
この時点ではまだ旧サーバー(現サーバー)と新サーバー、並行して作業できるので、ボタンを押した途端にサーバー切り替えを余儀なくされるということはないので安心してクリックしてください。

4.新サーバーにデータをアップロードする

UPしても現HPには影響がないので安心してください。またデータベースもメールサーバーも変わらないのでかなり手順としては楽です。

5.新サーバーの動作確認をする

自分のパソコンのhostsファイルを書き換えることによって、自分のPCからのみ新サーバーのHPを確認することが出来ます。

Windows 7, 8, 8.1, 10 のhostsの場所
C:\WINDOWS\system32\drivers\etc\hosts

「hosts」ファイルを、メモ帳などで開き、新サーバーの情報を入れて上書きします。
コントロールパネルの【アカウント情報】から「ロードバランサーIPアドレス」を確認します。

例:「hogehoge.jp」のサーバーIPアドレスが「123.456.789」だった場合、hostsには

123.456.789 hogehoge.jp

と記述してください。

保存したらそのままhogehoge.jpを確認すると、自分のPCのみ新サーバーでの動作検証が出来ます。

ちなみに私の場合、トップページは問題なく見えてましたが、他ページでは500エラーが発生しており、.htaccessのphpのバージョンが7.1ではなかったため、ここを変更したら正常に表示されるようになりました。(wordpressが入っていたため全体的に500エラーが発生していた)

その他問題がなければ「サーバー移設を完了する」ボタンを押して、完了です。
※このボタンを押すと旧サーバーへのアクセスが出来なくなりますのでご注意ください。

このあとはSSL設定をして完了です。

 

 

 

wordpressサイトで常時SSL化した手順2/2[エックスサーバー]

サーバー側での作業が終わったので、今度はwordpress側での設定作業を行います。

管理画面の「設定」>「一般」の URL を 2 ヶ所「http://~」→「https://~」に変更します。

「変更を保存」をクリックすると自動的にログアウトするので、再度ログインしましょう。

Search RegexでURL一括置換する

今まで書いてきた記事や固定ページのなかにある内部リンク・画像リンクを修正します。

[プラグイン]>[新規追加]から「Search Regex」を検索して、インストール&有効化します。

有効化したら、[ツール]>[Search Regex]に入り、「http://自分のドメイン」を「https://自分のドメイン」に一括置換します。

①ボタンで変更箇所を確認し、問題なければ②ボタンで一括置換をします。

次に「http://」を入力して[Search]を押します。
そうすると外部のURLが出てきますので画像など読み込んでいるものがあればhttps化してるか外すかして対応します。

ウィジェットやプラグインも外部画像など設定していないか「http://~」で始まるものは全て確認してください。
ちなみに私はAll in one SEOのSNS向けの画像がhttp://~になっていました。

WordPressテーマをチェックする

WordPress テーマ内で、自サイトの URL が直接記述されているところがないかチェックします。
画像やscriptを読み込んでいる部分などがあれば、すべて「https」に変更していきます。
主にheader.phpやCSSで直リンクしているものが私はヒットしました。

こちらも「http://」で検索すると外部のURLが出てきますので画像やscriptなど読み込んでいるものがあればhttps化してるか外すかして対応します。

最終チェック

全てのページのアドレスバーが「保護された通信」と表示されているか確認して終了です。