フォーラムへの返信

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • フォーラム: プラグイン
    返信が含まれるトピック: WP CSV Exporterで出力したcsvが空データになる
    トピック投稿者 aikuru

    (@ma-honda)

    >gblsmさん
    返信と、検証して頂きありがとうございます。
    wordpressのバージョンが4.1.7以上でも大丈夫なのであれば
    やはりパーミッションかと思いその後調査してみました。

    結論から言うと、csvを出力する
    plugins/wp-csv-exporter/download
    のパーミッションエラーで空データになっていたようです。
    エラーログをあまり見ていなかったのですがそこにもそのようなエラーが書かれていました。

    downloadディレクトリを777にしたところ、無事にデータが出力されました。
    お騒がせして申し訳ございません。
    ありがとうございました。

    フォーラム: プラグイン
    返信が含まれるトピック: WP CSV Exporterで出力したcsvが空データになる
    トピック投稿者 aikuru

    (@ma-honda)

    すみません、字足らずな部分があったので書き直します。

    WP CSV Exporter バージョン 1.0.9を使用しております。
    wordpressのバージョンを4.2.2にアップデートした辺りで
    csvが空のデータで出力されるようになりました。
    それまでは普通にデータ出力していたのですが…。

    こちらのプラグイン説明に
    対応する最新バージョンがwordpress 4.1.7 と表記されているので
    バージョンとの互換性が原因かと思ったのですが
    同じ現象の方はいないでしょうか。

    また、思い当たることとしては
    各ディレクトリやファイルのパーミッションを色々変更していました。
    それも原因かと思い、取り急ぎプラグインを一旦削除後
    再インストールをして、初期のパーミッションには戻しました。
    それでも現象は変わらずです。

    よく使用しており大変有難いプラグインだったので
    何とか原因を突き止め引き続き使用したいなと思っております。
    どなたかご教授頂けると幸いです。

    どうぞ宜しくお願い致します。

    トピック投稿者 aikuru

    (@ma-honda)

    一応解決できたので記載しておきます。
    ちょっと間違ってるかもしれませんが…

    function single_carrier_flag($query) {
        if ( ! $query->is_page() ) {
    
            switch (is_ktai()) {
                case 'DoCoMo' :
    
                    $currnet_date = date(Ymd);
    
                    $query->set( 'posts_per_page', -1 );
                    $query->set( 'orderby', 'date' );
                    $query->set( 'meta_key', 'docomo' );
                    $query->set( 'order', 'DESC' );
                    $query->set('meta_query',
                                            array(
                                                    'key' => 'docomo_start_date',
                                                    'value' => $currnet_date,
                                                    'compare' => '<=',
                                                    'type' => 'DATE'
                                                )
                                            )
                                );
    
                break;
            }
        }
    }
    add_action( 'pre_get_posts', 'single_carrier_flag' );
    トピック投稿者 aikuru

    (@ma-honda)

    なんとか解決できたので一応記しておきます!
    間違ってそうなところや
    もうちょっと短く出来そうな箇所がある気もしますが。。。
    ちなみにauはkddiにしてあります。
    皆様アドバイスありがとうございました。

    function single_carrier_flag($query) {
        if ( ! $query->is_page() ) {
    
            switch (is_ktai()) {
                case 'DoCoMo' :
    
                    $currnet_date = date(Ymd);
    
                    $query->set( 'posts_per_page', -1 );
                    $query->set( 'orderby', 'date' );
                    $query->set( 'meta_key', 'docomo' );
                    $query->set( 'order', 'DESC' );
                    $query->set('meta_query',
                                            array(
                                                array(
                                                    'key' => 'docomo',
                                                    'value' => 1,
                                                    'compare' => '=',
                                                    'type' => 'CHAR'
                                            )
                                );
    
                break;
    
                case 'KDDI' :
                    $query->set( 'posts_per_page', -1 );
                    $query->set( 'orderby', 'date' );
                    $query->set( 'meta_key', 'kddi' );
                    $query->set( 'order', 'DESC' );
                    $query->set('meta_query',
                                            array(
                                                array(
                                                    'key' => 'kddi',
                                                    'value' => 1,
                                                    'compare' => '=',
                                                    'type' => 'CHAR'
                                                )
                                            )
                      );
    
                break;
    
                case 'SoftBank' :
                    $query->set( 'posts_per_page', -1 );
                    $query->set( 'orderby', 'date' );
                    $query->set( 'meta_key', 'softbank' );
                    $query->set( 'order', 'DESC' );
                    $query->set('meta_query',
                                            array(
                                                array(
                                                    'key' => 'softbank',
                                                    'value' => 1,
                                                    'compare' => '=',
                                                    'type' => 'CHAR'
                                                )
                                            )
                      );
    
                break;
            }
        }
    }
    add_action( 'pre_get_posts', 'single_carrier_flag' );
    トピック投稿者 aikuru

    (@ma-honda)

    >Hinaloeさん
    そちらのトピックは
    カスタムフィールドに入れた”日付”を読み取って
    表示、非表示を適応させたいという内容です。
    まとめて投稿してもよかったかと思うのですが別で立ててしまいました。
    最終的にはキャリアフラグを読み取り
    かつ、日付も読み取って記事を表示、非表示に出来ればと考えています。

    また、アドバイスありがとうございます。
    もう少し直してみます。

    トピック投稿者 aikuru

    (@ma-honda)

    >Hinaloeさん
    コメントありがとうございます。
    ヒントありがとうございます!少し見えてきました。
    ↓だと記事のページはフラグを読み取って各キャリアで公開、非公開になりました。
    長いのでもうちょっとまとまる気もしますが…
    また、ちゃんとした記述になっているのかちょっと不安です。

    function single_carrier_flag($query) {
        switch (is_ktai()) {
            case 'DoCoMo' :
            if ( is_admin() || ! $query->is_main_query() )
               return;
    
            if ( $query->is_single() ) {
               $query->set( 'posts_per_page', -1 );
               $query->set( 'orderby', 'meta_value' );
               $query->set( 'meta_key', 'docomo' );
               $query->set( 'order', 'ASC' );
               $query->set('meta_query',
                                        array(
                                            array(
                                            'key' => 'docomo',
                                            'value' => 1,
                                            'compare' => '=',
                                            'type' => 'NUMERIC'
                   )
                 )
              );
            }
            break;
    
            case 'KDDI' :
            if ( is_admin() || ! $query->is_main_query() )
               return;
    
            if ( $query->is_single() ) {
               $query->set( 'posts_per_page', -1 );
               $query->set( 'orderby', 'meta_value' );
               $query->set( 'meta_key', 'au' );
               $query->set( 'order', 'ASC' );
               $query->set('meta_query',
                                        array(
                                            array(
                                            'key' => 'au',
                                            'value' => 1,
                                            'compare' => '=',
                                            'type' => 'NUMERIC'
                   )
                 )
              );
            }
            break;
    
            case 'Softbank' :
            if ( is_admin() || ! $query->is_main_query() )
               return;
    
            if ( $query->is_single() ) {
               $query->set( 'posts_per_page', -1 );
               $query->set( 'orderby', 'meta_value' );
               $query->set( 'meta_key', 'softbank' );
               $query->set( 'order', 'ASC' );
               $query->set('meta_query',
                                        array(
                                            array(
                                            'key' => 'softbank',
                                            'value' => 1,
                                            'compare' => '=',
                                            'type' => 'NUMERIC'
                   )
                 )
              );
            }
            break;
    
       }
    }
    add_action( 'pre_get_posts', 'single_carrier_flag' );

    ただ、同様にTOPページの記事一覧にも適応させようとしたのですが
    どうすればいいのかわかりません。
    if ( $query->is_single() )
    この部分のis_single をis_homeやis_front_pageに変えてみたりしたのですが
    そういう問題ではないのでしょうか?

    トピック投稿者 aikuru

    (@ma-honda)

    立て続けですみません。こちらで出来ました。
    合っているのか自信はありませんが…。

    加えてドコモのみ適応という処理も入れました。

    function docomo_start_date($query) {
        switch (is_ktai()) {
            case 'DoCoMo' :
            if ( is_admin() || ! $query->is_main_query() )
               return;
    
            $currnet_date = date(Ymd);
    
            if ( $query->is_single() ) {
               $query->set( 'posts_per_page', -1 );
               $query->set( 'orderby', 'meta_value' );
               $query->set( 'meta_key', 'start_date' );
               $query->set( 'order', 'ASC' );
               $query->set('meta_query',
                                        array(
                                            array(
                                            'key' => 'start_date',
                                            'value' => $currnet_date,
                                            'compare' => '<=',
                                            'type' => 'DATE'
                   )
                 )
              );
            }
            break;
       }
    }
    add_action( 'pre_get_posts', 'docomo_start_date' );

    index.phpに出ている記事も
    ドコモのみstart_dateを読み取って表示、非表示が出来ればと思っているのですが
    どう記述すればよいのかわかりません。。。

    トピック投稿者 aikuru

    (@ma-honda)

    もう少し調べてみました。記事個別のページは
    こちらで対応できそうなのではと考えています。
    function.phpに記述。

    function start_date($query) {
        if ( is_admin() || ! $query->is_main_query() )
           return;
    
        $currnet_date = date(Ymd);
    
        if ( $query->is_single() ) {
           $query->set( 'posts_per_page', -1 );
           $query->set( 'orderby', 'meta_value' );
           $query->set( 'meta_key', 'date' );
           $query->set( 'order', 'ASC' );
           $query->set('meta_query',
                                    array(
                                        array(
                                        'key' => 'date',
                                        'value' => $currnet_date,
                                        'compare' => '<',
                                        'type' => 'DATE'
               )
             )
          );
       }
    }
    add_action( 'pre_get_posts', 'start_date' );

    ですが、これだとどの記事もアクセスできなくなってしまいました…。
    条件指定などが間違っているんだと思うのですが…

    トピック投稿者 aikuru

    (@ma-honda)

    >Daisuke Takahashiさん
    コメントありがとうございます。
    すみません、書き忘れましたがKtai Style で使える
    is_ktai() を使用して実装できないかと考えています。
    IPアドレスの帯域を使うよりは簡単かなと思ったのですが、いかがでしょうか…

9件の返信を表示中 - 1 - 9件目 (全9件中)