フォーラムへの返信

7件の返信を表示中 - 46 - 52件目 (全52件中)
  • こんにちは。

    wp-config.php に以下のような記述を入れるだけではだめですか?

    if (strpos($_SERVER['REQUEST_URI'], '/wp-admin/') === 0) {
        define ('WPLANG', 'ja');
    } else {
        define ('WPLANG', 'en');
    }

    /wp-admin/ の部分はインストールした環境に合わせて変更してください。
    言語だけではなくタムゾーンの設定も必要なら、別途対処が必要です。

    フォーラム: 使い方全般
    返信が含まれるトピック: サブページのナビゲーション

    > ほぼ、思い通りな感じなのですが、homeで全ページへのリンクが表示されました…

    もしかして「設定」-「表示設定」でフロントページを何らかの固定ページに設定してるんですね!

    ちなみにサイドバーウィジェットには、固有のクラス名が自動的に付けられるので、以下のようなCSSで消せますよ。

    [ホームページのセレクタ] .widget_localmenuwidget
    {
        display: none;
    }

    [ホームページのセレクタ]はテーマによって違いますが、twentytenなら.homeです。
    ほかにもbodyタグにいろいろとクラスがついてると思います。

    フォーラム: 使い方全般
    返信が含まれるトピック: サブページのナビゲーション

    あー、投稿の場合は、同じカテゴリーの他のページみたいなのが出たらいいかもしれませんねー。
    ありそうでないですよね。
    ていうか、どんなキーワードで検索したらいいか、よくわからない。(^^;)

    私が作ったやつは、手抜き(?)で固定ページ以外の時は、何も返しません。

    フォーラム: 使い方全般
    返信が含まれるトピック: サブページのナビゲーション

    自作品で恐縮ですが、これではダメですか?
    http://firegoby.theta.ne.jp/wp/localmenu

    トピック投稿者 Takayuki Miyauchi

    (@miyauchi)

    すいません。
    自己解決します。

    1) date_default_timezone_set()を書いてしまうのはダメっぽいと個人的に判断しました。
    チケットでもパッチがボツになっていますし。
    https://core.trac.wordpress.org/ticket/11665
    多言語対応したテーマやプラグインに影響が出るのかな?(関係ないような気がするけど。。。)

    2) RSSウィジェットの日付がずれる件に関しては、自作プラグインで対処できることがわかったので、それを使用しつつも、本家のチケットにパッチを報告してみます。

    3)プラグイン開発などでは、外部リソースから取得した日付データに関しては、3600*get_option(‘gmt_offset’)を足すようにするしか無さそうなので、そうします。
    (コアでもそういう処理をしているところが多数ありましたので。)

    というわけで、shokun0803さん、ありがとうございました。

    トピック投稿者 Takayuki Miyauchi

    (@miyauchi)

    shokun0803さん、こんにちは。

    > date_default_timezone_set(‘Asia/Tokyo’);をwp-config.php とか、テーマの
    > functions.phpに書くか、current_time( ‘timestamp’ );などのように取得するか
    > ではないですか。

    wp-config.phpに書いても、そのあとにwp-settigs.phpが読み込まれるので効果はないです。
    テーマのfunctions.phpなら効果はあるようですね。
    これは思いつきませんでした。(恥)

    ただし、この方法だと国際化したテーマの作者は、「functions.phpにdate_default_timezone_set(…)を追記するか子テーマをつくってね。」とアナウンスする必要があるということになりません?

    それに、この方法で変更していいのなら、最初からwp-settings.phpの、
    date_default_timezone_set('UTC');
    のところに管理画面のタイムゾーン設定が反映されるようにコアを修正してくれればいいと思うのですが。。。

    それをあえてそうしないのは他に影響があるのではないかと思うのですが、どうでしょう?
    だから、安易にdate_default_timezone_set()するのは正しいのかな?と疑問を感じます。

    ちなみにcurrent_time()は今の時間を取る関数なので、RSS内の日付やファイルの更新日の処理などには関係ないです。

    > バグ報告で投稿してきますか・・・

    以上のような理由で、バグっぽいなと思ったので、ここに書きました。
    管理画面に設定する画面があって、それだけでは上手く反映されないので。。。

    > それでも納得がいきませんかね?

    はい、納得してません(笑)

    フォーラム: 使い方全般
    返信が含まれるトピック: 親ページにそれに属する孫ページを表示したい。

    ちょっと違うかもしれませんが、今日私が公開させていただいたプラグインが特定のページのID以下のページを表示する機能を実装しています。

    http://firegoby.theta.ne.jp/wp/localmenu

    50行目にgetChildPages() というメソッドがあるんですが、そのメソッドは指定されたID以下のページを再帰的に取得して、ネストしたulで返しています。

    以下はその部分の抜粋です。

    private function getChildPages($parent = null)
        {
            global $wpdb;
            global $post;
    
            if (!$parent || !preg_match("/^[0-9]+$/", $parent)) {
                $parent = $post->ID;
            }
            $sql = "SELECT * FROM {$wpdb->posts}
                    WHERE
                        post_type='page'
                        and post_parent = '{$parent}'
                        and post_status='publish'
                    order by menu_order, post_title";
            $results = $wpdb->get_results($sql);
            if (!$results) {
                return;
            }
    
            $html = '<ul>';
            foreach($results as $data){
                $html .= "<li>";
                $html .= '<a href="'.get_page_link($data->ID).'">';
                $html .= $data->post_title;
                $html .= "</a>";
                $html .= $this->getChildPages($data->ID);
                $html .= "</li>\n";
            }
            $html .= '</ul>';
            return $html;
        }

    ちなみにIDは、管理画面の記事の編集画面のURLのpostというパラメータの値です(^^)

7件の返信を表示中 - 46 - 52件目 (全52件中)