カテゴリー別アーカイブ: ウィジェット

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' )
  );
}

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

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

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

wordpressプラグイン「Types」でカスタムフィールドが表示しない

wordpressのプラグイン「Types」は、WordpressをCMSとして使用するときに、カスタムタクソノミーとかカスタム投稿タイプとかカスタムフィールドとか扱いときに大変重宝するもので、私も結構利用させていただいています。

今日ちょっと起こったことで、
カスタムタイプ(CustomTypes)を「曲」
カスタムタクソノミー(CustomTaxonomy)を「作曲家」
カスタムフィールド(CustomFields)を「曲」として、
カスタムタイプが「曲」のときにカスタムフィールド「曲」を表示させる設定で保存しました。

そうしたら、カスタムフィールドの「曲」が表示されない。

ためしに、カスタムフィールド「曲」の表示の対象設定を「投稿」にもして試すと、「投稿」にはカスタムフィールド「曲」が表示されますが、カスタムタイプ「曲」には表示されないという現象が。

カスタムフィールドが表示されないってわけではないのかーと考え、いろいろと思案して、試しにカスタムフィールド「曲」を「曲フィールド」に変更。

そうすると、カスタムタイプ「曲」にも、カスタムフィールドが表示されるようになりました。

カスタムタイプとカスタムフィールドは同じ名前だと駄目のようです。

他にも表示されないパターンがあったんですが、それは何が原因かわからず。とりあえず、フィールド名とかを変えてみたら治ることもありますので、何で表示されないんだろうと思ったら、その辺も変更してためしてみてはいかがでしょうか。

って、まぁ、なんかもっとちゃんと根本的なことを勉強したら、なぜだめなのかもわかりそうだけど、ぱっと見わかる様に、タイプやフィールドやタクソノミーは、別の名前にした方がいいのかもしれないなぁと思いました。

投稿者一覧を表示するウィジェットを作りたい

参照1:『User Photo』でアップロードしたアイコンを『Author Avatars List』で使えるようにする。(@Funnel
で紹介されている、「Author Avatars List」を使用すれば、ウィジェットにも追加されて何の心配もなかったワ。

とりあえず、じたばたした形跡を残しておきます↓↓↓

ウィジェットを新規追加についての情報
参照1:WordPress 2.8でウィジェット作成(1) 窶錀 Hello World(@とりさんのソフト屋さん
参照2:WordPress のウィジェットを自作してみる(ただし 2.8以降用)(@digitalbox
参照3:WordPress ウィジェット API

まず、どこにどんなファイルを作るんだよと思っていたら、functions.phpに追記すればよいらしい。(参照2より)

投稿者リストについての情報
参照1:wp_list_authors

上二つの情報で、なんとなくできました・・・ 続きを読む