カテゴリー別アーカイブ: プラグイン

WordPress4.3.0にしたらウィジェットが消えた

WordPress4.3.0にしたらトップページに表示していたウィジェット(WP125)が消えました。
デバックをonにしてみたら、

Notice: 呼び出された WP_Widget のコンストラクターメソッドはバージョン 4.3.0 から非推奨になっています! 代わりに
__construct()
を使ってください。 in /usr/home/yabuk864/www/htdocs/wp-includes/functions.php on line 3457

となっています。

WordPress 4.3 Notice Error

↑の記事を読んでいたら、PHP4形式のコンストラクタの記述が非推奨となるため、コンストラクタの記述を__constructに変更するようにということらしいです。

詳しくは↓

https://make.wordpress.org/core/2015/07/02/deprecating-php4-style-constructors-in-wordpress-4-3/

で該当する場所を調べて、

class WP125_Widget extends WP_Widget {

  function WP125_Widget() {
     parent::WP_Widget(
     'wp125',
     'WP125',
     array( 'description' => 'Displays your ads' )
   );
}

となっているのを

class WP125_Widget extends WP_Widget {

  function __construct() {
    parent::__construct(
    'wp125',
    'WP125',
    array( 'description' => 'Displays your ads' )
  );
}

これでエラーは消えるのだけど、ウィジェットは表示されない。

困っていたら、直接テーマファイルに書きこむ方法が親切にプラグインに書いてあったので、そっちに変更しました。

残りのウィジェットの書き方、他のプラグインのソースと見比べたりしたけど、間違ってないように思えるんだけどなあ……。

ContactForm7の4.2が、絵文字プラグインの表示に影響

絵文字プラグイン「TypePad 絵文字 for TinyMCE」を利用させていただいているのですが、編集時に絵文字のアイコンをクリックしても、絵文字リストの表示に500エラーがでます

いろいろ調べていましたら、過去に「ContactForm7」のバージョンアップで出たエラーと状況が似ていました。

ここに書き込みあり→http://www.picmo.net/blog/linux/wp-plugin/typepad-tinymce/

「ContactForm7」は6/7に4.2にバージョンアップしていて、確かにそれに合わせてバージョンアップしました。

確かに「ContactForm7」を入れていないWordpressでは「絵文字リスト」は問題なく表示されます

ためしにダウングレードしたら「絵文字リスト」は表示されるようになりました。

取りあえず時間ないので、ContactFormのバージョンアップの何がひっかかったのかとかは、調べてませんが「ContactForm7」の次のバージョンアップで、忘れないように検証せねば……

※絵文字って使ってみると、やっぱり雰囲気変わるなぁ 技術系の記事にはうっとうしいだけか

Types1.6.5.1で日付のバリデーションが効かない

Types1.6.5.1のカスタムフィールドで、日付を使っている場合、「有効なデータをご入力下さい」というのにチェックを入れている場合、いくらカレンダーの機能を使ってデータを入れても「有効なデータでない」というエラーが出ます。

この日付のバリデーションのチェックを外すとうまくいくので、検証のプログラムで何か問題が発生しているのかなと思います。

同じことが掲示板にもありました。

Date field not working anymore on 1.6.4

wordpressのpluginの「Types」を1.6にバージョンアップしたらエラー

※2014/09/01
  この件は、2014/08/28にTypes1.6.2へのバージョンアップがリリースされたようですので、それで解決しました(検証済)

 

Fatal error: Declaration of FormFactory::createForm() must be compatible with that of FormAbstract::createForm() in (ここはパスが書いてある)\wp-content\plugins\types\embedded\common\toolset-forms\classes\class.form_factory.php on line 20

というエラーが出ました。FormFactory::createForm() 宣言は、FormAbstract::createForm() と互換性がなければならない、みたいな?(displayFromも同じようなエラー)

エラーが指し示す、line20は

class FormFactory extends FormAbstract{

始まり。

互換性がないというのがよくわからないけど、

初心者的なクラス・オブジェクトのお勉強 – その2

に、「抽象メソッドの引数の数と同じ数の引数で実装しないとダメ」とある。
そのcreateForm()のあたりを調べるが、わからない。ひとつ前の1.5.7と1.6の差分を見てみても特にその周辺は変えたわけではなさそう。

そのあとの「CLS1は抽象クラスではなくなったけれど、CLS1のオーバーライドには抽象メソッドの制限が残ってるんだね」でも同じエラーが出ますが……わからない……。

その後、公式サイトのフォーラムで話題が出ていました。

Types – Custom Fields and Custom Post Types Management Fatal Error After Latest Update (21 posts)

つまりは、/types/embedded/common/toolset-forms/classes/class.form_factory.phpの

L130の

public function createForm( $nameForm = ‘default’ ) {

public function createForm( $nameForm) {

に。

L147の

public function displayForm( $nameForm = ‘default’ ) {

public function displayForm( $nameForm ) {

直りました。

 

createForm()のあたりは、1.5.7と言い回しは一緒。なんでだろう?

また、そのフォーラムの最後には、WYSIWYG editorが動かないとあった。確かに、フィールドでwysiwygを選ぶと今度は

Parse error: syntax error, unexpected T_FUNCTION in /home/movielog/www/wp-content/plugins/types/embedded/common/toolset-forms/classes/class.wysiwyg.php on line 44

と出る。

しばらくそのトピックスを見守ることにします。

wordpressプラグイン「WP125」の日本語ファイル

WP125プラグインは、125px×125pxサイズのバナー表示のためのプラグイン。

wordpress plugin 「WP125」ページ

ですが、別にアップしたバナーファイルを無理やり125px×125pxにするわけではなく、アップしたサイズのバナーを表示してくれる模様でしたので、普通にバナー管理として使っています。

日本語ファイルが見つからず、自分で作りました。
英語苦手教科ですし、普段プログラムのことを調べていて英語ページにたどり着くとを「うっ」とひいてしまう方ですが、何かお役に立てるならと思い、データ置いておきます。

wordpressプラグイン「WP125」の日本語ファイル

自分でバナー管理のプラグインが作れたらなぁと思っているのですが、もう少し仕事が落ち着いたら……。EC-CUBEにしてもWordpressにしても、今年1つぐらいはプラグイン作りたいな。

WordPressプラグイン「Post Expirator」が動かないとき

WordPressの記事に期限を付ける時、お世話になっています「Post Expirator」

プラグインはこちら→
翻訳ファイルでお世話になってるのはこちら→

「動かない」ということで検索をすると「時間の設定が日本時間ではないから」という回答をよく見かけるのですが、

【参考記事】WordPressでPost Expiratorがインストール直後に動作しない理由と対処方法 (ありがとうございます)

それでも動かない。ローカルだと動くのになぁ……と思っていたら、
もしかしたら、もう初歩的すぎる知識なのかも知れなくて、恥ずかしいのですが……

テスト運営だったので、Basic認証をかけていたからでした。試しに一瞬Basic認証を外したら、ちゃんと動いていました。

facebookの「いいね」が作動しないのも、Basic認証かけてるからだったりして、なんだかとっても恥ずかしいです。

ちなみに、facebookの「いいね」の問題は

【参考記事】 Basic 認証中のページで OGP のテストをする (ありがとうございます)

に書いてありましたが、それは試してみたけどうまくいかず。あんまり時間もかけられなかったので、一時Basic認証をはずしてみるということで対応し、追跡で調べてません。ごめんなさい。

wordpressでprettyphotoやlightboxやFancyboxがうまく動かなかったので…

作成したオリジナルテーマ自体が既にjqueryが入っていて、そのうえ、pluginでprettphotoやlightboxやfancyboxを入れようとすると、うまく動かない。

もともとのオリジナルテーマがもってるjqueryとpluginでいれるjqueryが競合しているんだなぁと思って、いろいろ対策をしてみた。

1.pluginのjqueryを読み込ませない。

functions.phpに以下のソースを埋め込んで、読み込ませないようにした。


function load_cdn() {
	if ( !is_admin() ) {
	wp_deregister_script('jquery');
	}
}
add_action('init', 'load_cdn');

if(!is_admin())で、管理画面ではちゃんとjquery読ませるのがポイント。

だけど、うまく動かなかった……。

2.テーマに直で読ませているjqueryを削除する

これもうまくいかなかった……。

3.plugin「FancyBox for WordPress」を使用する。

FancyBox for WordPress」です。
このpluginの嬉しかったところは、設定で「トラブルシューティング設定」というのがあって、「jQueryの起動スキップ。jQueryが2度起動される場合だけ使用 (初期値: off) 」にチェックを入れると競合を防ぐことができるということ。

1のjqueryの読み込みをやめさせるのをやめて、このチェックをしたら競合せずに動くようになりました。

1.の設定をした「FancyBox for WordPress」の使用では、競合して動きませんでした。1.のjqueryの読み込みをやめさせるのと、3.のjQueryの起動のスキップとではどう違うのだろう……。

wordpress投稿記事をTwitterへ自動投稿

Twitter toolsというプラグインを使用しました。

参考にしたのは、

WordPresプラグイン「Twitter tools」のバージョンアップ版のインストールと設定、使い方を日本語で解説!

この説明のなかで、「aplication type」が「browser」というのがありませんでしたので、

「Read and Write」を選択しました。

これについては、後で調べていたら、こんなページも発見。

Twitter Toolsを使ったWordPressとTwitterの連携

(後日談)

上のアプリではうまくいかなかったので、このブログでも使用している「Twitterable」を使用することに。
Twitter側の仕様がいろいろと変わっていたのか、今までの説明記事ではうまくいかなかったのですが、下記サイトでは新しく説明しなおされていました。ありがとうございます。

Twitterへの自動投稿プラグイン「Tweetable」の設定方法(2012年3月版) ※デザインもすごくかわいいです。

Ktai Entryで投稿が自動的に反映されなくなった

KtaiEntryで投稿が自動的に反映されなくなってしまいました。

(すぐに反映を押すとちゃんと反映する)
0.9.1.1にバージョンアップしてからかな。
バージョンを戻そうかなぁと思っていたところ、0.9.1.2へのバージョンアップのお知らせが……。

0.9.1.2にバージョンアップしたら、投稿が反映されるようになりました。

なんでだろうかー。でも、よかったツꀀ 😀

WordPressのエディターでtableタグを使用する

wordpressのエディターって結構好きなんですが、tableタグないしなーと思っていて調べていたら使えるんですねー。

TinyMCE Advanced というプラグイン。

WordPress3.1で使えました。

数年前に同じようにtableタグを追加するのを探していて、なくて、メディアはWordpressの機能を、HTMLはFCKeditorを使用してという改造をしていたのですが、tableタグを使えるようにできるんだったら、お客様提案のネックになっていた部分が無くなりました! しかし、本当は、tableタグなんて使わずにページを作れたらいいのになぁなんて思います。どっちにしろ、普段ホームページ更新とかしてないお客様には、tableを使用するようなページなんて負担だもの。

参考:TinyMCE Advanced 窶錀 ビジュアルエディタのボタンの追加