WordPress4.5バージョンアップ時のJavaScriptのエラー。
今までは、
$(‘a[href=#page]’).click(function() {
で問題なかった箇所が、
$(‘a[href=“#page“]’).click(function() {
となります。ハッシュ記号 (#) はクォートされなければいけないということです。
他にもエラーになる箇所があるかも・・・
WordPress4.5バージョンアップ時のJavaScriptのエラー。
今までは、
$(‘a[href=#page]’).click(function() {
で問題なかった箇所が、
$(‘a[href=“#page“]’).click(function() {
となります。ハッシュ記号 (#) はクォートされなければいけないということです。
他にもエラーになる箇所があるかも・・・
setTimeZone(new DateTimeZone('Asia/Tokyo')); $now = $dt->format('Y-m-d H:i:s'); $temp = shortcode_atts( array( 'on' => '0', 'off' => '0', ), $temp, 'reserve' ); $start = $temp['on']; $end = $temp['off']; $html = ''; if($start !== '0'): if (strtotime($now) >= strtotime($start)) : $html .= ''.$content.''; endif; elseif($end !== '0'): if (strtotime($now) < strtotime($end)) : $html .= ''.$content.''; endif; else: $html .= ''; endif; return $html; } add_shortcode('reserve', 'my_reservation'); ?>
更新中にエラー: wp-content ディレクトリが見つかりません。と言われたら wp-config.phpの /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */ すぐ後に define(‘FS_METHOD’, ‘direct’); を一行追加 これを追加することで、ファイルの所有者は、apacheなどになります。 失敗する原因は、phpの設定、FTPサーバーの設定、SSL、ファイルの所有者、など、サーバーやインストール時の環境によって様々なので、ダイレクトにWordPressとphpに任せる設定が楽で、安全かと思います。 wp-config.php にサーバーのパスなどの情報を追加するという解決策もWEB上にたくさんありますが、 wp-config.phpをHackされたら終わりだなぁ〜と思うのです。 ・・・某サーバーで改ざんされてたし・・・
カスタム投稿タイプのフィードを個別に選択して表示したいとき。
たとえば、このサイトは、
「通常の投稿」の他に、カスタム投稿タイプを使って、「製作実績」や「トップのスライド」を管理しています。
「通常の投稿」と「製作実績」のRSSは取得したいけど、「スライド」は取得したくない場合など、フィードを取得するURLのパラメーターで管理できれば楽かも。
ということで、ちょっと考えてみた。
function.phpに追加するコード
function my_feed_request($vars) { if ( isset($vars['feed']) && !isset($vars['post_type']) ){ $my_feed_post_type = $_GET['post_type']; $my_feed_post_type_array = explode(",",$my_feed_post_type); $vars['post_type'] = $my_feed_post_type_array; } return $vars; } add_filter( 'request', 'my_feed_request' );
通常のRSS取得のURL
カスタム投稿タイプを、任意に複数、選択してRSSを取得するURL
取得したいカスタム投稿タイプのスラッグをカンマ区切りで追加していく
‘post_type’のパラメーターを使わずに、’my_post_type’とかの独自変数を使った方がいいかもしれないし、パラメーターの存在確認も必要かもしれないけど・・・
WordPressでサイトを作成する際に、
「スマートフォンサイトは作らないけど、ちょっと意識したい。」
そんなときに活躍するコードを紹介します。
まずは、phpで電話出来る端末かどうかの判定。ちょっと適当だけど・・・(^.^)
//モバイルの判定 function mobile() { $ua = $_SERVER['HTTP_USER_AGENT']; if ((strpos($ua, 'Android') !== false) && (strpos($ua, 'Mobile') !== false) || (strpos($ua, 'iPhone') !== false) || (strpos($ua, 'webOS') !== false)|| (strpos($ua, 'Windows Phone') !== false)|| (strpos($ua, 'BB') !== false)) { // スマートフォンからアクセスされた場合 return 'mobile'; } elseif ((strpos($ua, 'Android') !== false)) { // タブレットからアクセスされた場合 return 'tablet'; } elseif ((strpos($ua, 'iPad') !== false)) { // タブレットからアクセスされた場合 return 'tablet_notphone'; } elseif ((strpos($ua, 'DoCoMo') !== false) || (strpos($ua, 'KDDI') !== false) || (strpos($ua, 'SoftBank') !== false) || (strpos($ua, 'Vodafone') !== false) || (strpos($ua, 'J-PHONE') !== false)) { return 'keitai'; } else { // その他(PC)からアクセスされた場合 return 'pc'; } }
電話番号はテキストでも画像でも対応できる
//電話番号リンクにするショートコード function tel_call($atts, $content = null){ $mobile = mobile(); if($mobile =='mobile' || mobile =='tablet'): extract(shortcode_atts(array( 'tel' => 0, ), $atts)); return ''.$content.''; else: return ''.$content.''; endif; } add_shortcode('tel', 'tel_call');
これでショートコードとして使用可能
//モバイル環境のときにとりあえず改行しちゃう function mbr(){ $mobile = mobile(); if( $mobile == 'mobile'): echo ' '; endif; }
Advanced Image Styles
WordPressが4.0になった頃から、TinyMCE Advanced も新しくなり、挿入した画像にマージンや余白を入れると左右均等か、上下均等しか受け付けなくなっていたので、何かいい案はないかと色々探していたのですが、ようやく見つけました!
Advanced Image Styles
このプラグインを導入すると、WordPress純正の画像編集画面に、マージン設定が出てきます。
次のお題は、
「WordPressが画像を挿入すると、<p>タグで囲われちゃう問題」
今のところ、<div>ダグで囲い直すと自動整形に影響しないことは分かってるので、function.phpでなんか対応できそうだと思っていますが・・・
facebookにサイトのURLをコピペすると勝手にサイトの写真が出てきますが、そのままURLが表示されたり、違う写真が表示されちゃうことがあります。
これは、facebookが、保持している情報(キャッシュ)が古い場合や、うまく連動できていない場合に起こります。
解決するには以下のURLにアクセスして、サイトのアドレスやコピペしたいURLを入力して、ボタンを押せばキャッシュを確認したり、最新にしたりしてくれます。
https://developers.facebook.com/tools/debug/og/object/
↑既存のキャッシュを表示
↑新しくキャッシュを作成する
これでなおるはず。
便利に活用させてもらっている
というプラグインがエラーをはいていたので修正したいと思い、ライセンスについて調べていたら、WordPress本体に関する興味深い記事を発見。
WP−D http://wp-d.org/2012/11/07/1046/
WordPressはGPLライセンスです・・・と。
GPLライセンスで頒布されているプログラムは、それを受け取った者が、修正を加えてもいいし、他のプログラムに組み込んでもいいし、自由に改変できる。ただ、それを再頒布する場合は、それを受け取った者も同じように自由に改変できる権利を持つということ。
WordPressを使ってたくさんのサイトを制作していますが、基本的には、WordPress本体や、プラグイン改変していません。それは、アップデートの対応が大変だから。でも、開発が終わっているようなプラグインで使い勝手の良いモノは、修正やカスタマイズして使っています。
ご要望があれば、再頒布も可能なので、ご相談ください。
で、このプラグインのエラーの原因は、簡単に直るんですけどね。
現在一部のお客様のサイトにて、アップロードした画像を、編集する機能が正常に作動しないため、縦横を変更したり、トリミングしたりすることが出来ません。
自動バックアップに使用しているプログラムの修正に伴う弊害です。
現在調査中ですが、「自動バックアップ」と「画像の編集」のどちらか一方だけであれば機能しますのでご連絡ください。現状は、バックアップを優先しています。
*********************
詳しい説明はこちら
*********************
バックアッププラグイン「BackWPup」のバックアップ先をDropBoxにしている場合、
SSLチェックのエラーが発生するため、WordPressのサポートフォーラムに掲載されている
などのfixで対応している方も多いと思います。
ただ、このfixを適用すると、WordPressの機能の一つである、アップロードした画像ファイルの編集機能が使用できなくなります。
詳細は調査中です。
*********************
追記 2014.10.25
*********************
このfixの途中で一つcodeが紹介されていますが、新しく正常に動くcodeが紹介されていますね。こちらを使用すれば解決できます。 [php] <?php /** * Plugin Name: BackWPup disable SSL connection verifying * Plugin URI: https://marketpress.com/ * Description: Disables the verifying from SSL connections in backup destinations * Author: Inpsyde GmbH * Author URI: http://inpsyde.com * Version: 0.1 * Network: true * License: GPLv3 * License URI: http://www.gnu.org/licenses/gpl-3.0 */ add_filter( ‘backwpup_cacert_bundle’, ‘backwpup_disable_ssl_verify’ ); function backwpup_disable_ssl_verify ( $file ) { return FALSE; } [/php]