Simplicityの特徴 › フォーラム › Simplicity2に関する話題何でも › widget new-popularについて
- このトピックには6件の返信、2人の参加者があり、最後に
により2年、 4ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年6月28日 12:45 AM #43009
Hidekichi
ゲストquery monitorで色々見ていた所、lib/widgets/new-popular.phpでnoticeが出てまして、以下のように直した所noticeが消えました。
で、その後カスタマイザーで値をいじって確かめましたがnoticeは出ませんでしたので報告します。が、まだ何かしら隠されたいつものアレ(笑)があるかもしれませんので、十分テストして下さい。書き換えた部分の下にあるグローバル変数の値はそのままにしていますが、そこらを再確認してもらうと良いかと思います。
だいたいの所、その値がない場合は「これ」ある場合は「それ」みたいな感じで指定しているだけです。元々の書き方で良いのではないかと僕も思ってたんですけれども、やはりnoticeが出てしまいます。
例えば、$title_new = apply_filters( 'widget_title_new', $instance['title_new'] );
の場合、
‘widget_title_new’を$instance[‘title_new’]で書き換えて、$title_newに入れると言う感じですけれども、フォームでは、変更がある場合に入力という形になっているので、デフォルトで$instance[‘title_new’]はカラと言う所にnoticeが出るのではなかろうかと思います。function widget($args, $instance) { extract( $args ); //$title_new = apply_filters( 'widget_title_new', $instance['title_new'] ); //$title_popular = apply_filters( 'widget_title_popular', $instance['title_popular'] ); //表示数を取得 //$entry_count = apply_filters( 'widget_entry_count', $instance['entry_count'] ); //表示タイプ //$entry_type = apply_filters( 'widget_entry_type', $instance['entry_type'] ); //固定ページを含める //$is_pages_include = apply_filters( 'widget_is_pages_include', $instance['is_pages_include'] ); //$is_views_visible = apply_filters( 'widget_is_views_visible', $instance['is_views_visible'] ); //$range = apply_filters( 'range', $instance['range'] ); //$range_visible = apply_filters( 'range_visible', $instance['range_visible'] ); //$is_ranking_visible = apply_filters( 'is_ranking_visible', $instance['is_ranking_visible'] ); $title_new = apply_filters( 'widget_title_new', empty($instance['title_new']) ? "新着記事" : $instance['title_new'] ); $title_popular = apply_filters( 'widget_title_popular', empty($instance['title_popular']) ? "人気記事" : $instance['title_popular']); $entry_count = empty($instance['entry_count']) ? 5 : absint( $instance['entry_count'] ); $entry_type = apply_filters( 'widget_entry_type', empty($instance['entry_type']) ? "default" : $instance['entry_type'], $instance ); $is_pages_include = apply_filters( 'widget_is_pages_include', empty($instance['is_pages_include']) ? "" : $instance['is_pages_include'], $instance ); $is_views_visible = apply_filters( 'widget_is_views_visible', empty($instance['is_views_visible']) ? "" :$instance['is_views_visible'], $instance ); $range = apply_filters( 'range', empty($instance['range']) ? "" : $instance['range'], $instance ); $range_visible = apply_filters( 'range_visible', empty($instance['range_visible']) ? "" : $instance['range_visible'], $instance ); $is_ranking_visible = apply_filters( 'is_ranking_visible', empty($instance['is_ranking_visible']) ? "" : $instance['is_ranking_visible'], $instance );
実は、ここよりもDuplicate Queriesで、重複したクエリの呼び出しがあるのがちょっと気になっているんですけれども、まぁここらは状況が分かり次第と言う感じで。
-
2016年6月28日 3:12 PM #43025
わいひら
キーマスター修正方法、ありがとうございます!
手元のファイルに適用しておきました。
ただこういったnoticeは、他のウィジェットでも出るものがあるかもしれません。
他のウィジェットも、似たような感じで書いていたりするので; -
2016年8月17日 1:49 AM #44414
hidekichi
ゲストrecent-comments.phpも発見したので修正版で、
extract( $args ); //タイトル名を取得 $title = apply_filters( 'widget_recent_comment_title', empty($instance['title']) ? "最近のコメント" : $instance['title'] ); //コメント表示数 $count = apply_filters( 'widget_recent_comment_count', empty($instance['count']) ? 5 : absint( $instance['count'] ) ); //コメント文字数 $str_count = apply_filters( 'widget_recent_comment_str_count', empty($instance['str_count']) ? 100 : absint( $instance['count'] ) ); //管理者除外するか $author_not_in = apply_filters( 'widget_recent_comment_author_not_in', empty($instance['author_not_in']) ? false : true );
これでnoticeは出なくなりました。
-
2016年8月17日 1:51 AM #44415
hidekichi
ゲストうぉぅ、一個間違えてたので全体貼り直します。
extract( $args ); //タイトル名を取得 $title = apply_filters( 'widget_recent_comment_title', empty($instance['title']) ? "最近のコメント" : $instance['title'] ); //コメント表示数 $count = apply_filters( 'widget_recent_comment_count', empty($instance['count']) ? 5 : absint( $instance['count'] ) ); //コメント文字数 $str_count = apply_filters( 'widget_recent_comment_str_count', empty($instance['str_count']) ? 100 : absint( $instance['str_count'] ) ); //管理者除外するか $author_not_in = apply_filters( 'widget_recent_comment_author_not_in', empty($instance['author_not_in']) ? false : true );
コメント文字数の所で、
$instance['str_count']
を$instance['count']
でコピペしてました。 -
2016年8月17日 2:09 AM #44416
hidekichi
ゲストpopular-ranking.php([S]人気記事)は、
extract( $args ); //ウィジェットモード(全ての人気記事を表示するか、カテゴリ別に表示するか) $widget_mode = apply_filters( 'widget_mode', empty($instance['widget_mode']) ? "defailt" : $instance['widget_mode'], $instance ); $title_popular = apply_filters( 'widget_title_popular', empty($instance['title_popular']) ? "人気記事" : $instance['title_popular'] ); //表示数を取得 $entry_count = apply_filters( 'widget_entry_count', empty($instance['entry_count']) ? 5 : absint($instance['entry_count']) ); //表示タイプを取得 $entry_type = apply_filters( 'widget_entry_count', empty($instance['entry_type']) ? "default" : $instance['entry_type'], $instance ); //固定ページを含める $is_pages_include = apply_filters( 'widget_is_pages_include', empty($instance['is_pages_include']) ? "" : $instance['is_pages_include'], $instance ); //閲覧数の表示 $is_views_visible = apply_filters( 'widget_is_views_visible', empty($instance['is_views_visible']) ? "" : $instance['is_views_visible'], $instance ); //集計期間 $range = apply_filters( 'range', empty($instance['range']) ? "all" : $instance['range'], $instance ); //集計期間の表示 $range_visible = apply_filters( 'range_visible', empty($instance['range_visible']) ? "" : $instance['range_visible'], $instance ); //ランキング順位の表示 $is_ranking_visible = apply_filters( 'is_ranking_visible', empty($instance['is_ranking_visible']) ? "" : $instance['is_ranking_visible'], $instance );
こんな感じかと。また何かしらわかったら投稿します。
-
2016年8月17日 2:17 AM #44417
hidekichi
ゲストpc-text.php([S]パソコン用テキストウィジェット)は、
//タイトル名を取得 $title = apply_filters( 'widget_title_pc_text', empty($instance['title_pc_text']) ? "" : $instance['title_pc_text'] );
ここだけで良さそうです。
ラベルは入力された時だけ表示したらよいかと思うのでクォートで空欄にしてます。 -
2016年8月17日 12:49 PM #44425
わいひら
キーマスター修正部分をありがとうございます。
とりあえず以下のように修正してみました。
https://github.com/yhira/simplicity2/commit/dc60eecdeca9d0600b17f9d31c38c256847452e0
次のバージョンで適用されると思います。
-
-
投稿者投稿
- このトピックに返信するにはログインが必要です。