フォーラム

[解決済み] ショートコードが動作しない (19 件の投稿)

  1. bitterfrog
    メンバー
    3 years前の投稿 #

    バージョン2.5.1
    サーバー:chicappa!
    PHPのバージョン:ver.4.4.2

    ギャラリーページを作りたく、新規ページ作成で[gallery]や[kougabu」と書いて公開にしても、白紙のページが出来上がります。もちろん画像は10枚以上あります。
    テーマはwp-vicuna Ext.1.55です。
    何かこういうふうになる原因で考えられるものがあるでしょうか。

  2. IKEDA Yuriko
    常連回答者
    3 years前の投稿 #

    ギャラリーページを作りたく、新規ページ作成で[gallery]や[kougabu」と書いて公開にしても、白紙のページが出来上がります。もちろん画像は10枚以上あります。

    そもそも、画像はメディアライブラリに登録されているでしょうか。
    gallery ショートコードは、その画像が属する投稿でのみ使えます。他の投稿やページの画像はひっぱってこれません。
    wp-kougabu の方はすべての画像が対象のようですが、メディアライブラリにないものは引っぱってこれません。あと、wp-kougabu はプラグインであって標準機能じゃないので、プラグインをインストールかつ有効にしないといけません。

  3. bitterfrog
    メンバー
    3 years前の投稿 #

    お返事ありがとうございます。
    写真はメディアライブラリにすべて入っています。
    それと、wp-kougabuはプラグインを入れて、有効化もしてあります。
    それなのに、白紙ページになってしまうのです。
    wp-kougabuのほうは,
    There is no photograph in this page yet.
    と一行だけ出るのです。

    ギャラリーか、できたらwp-kougabuのほうはぜひ使いたいので、原因を探っているのですが。

  4. hiromasa
    メンバー
    3 years前の投稿 #

    bitterfrog さん、こんにちは。 :-)

    wp-kougabu ですが、抽出条件に「ブログに投稿されていること(挿入されていること)」というのがありまして、もしかしてそれかな、、と思いました。

    もしそれでもだめでしたら、

    http://another.maple4ever.net/wp-content/uploads/etc/zip/wp-kougabu-20080625.zip

    このバージョンで試してみて結果を教えてください! 少し抽出条件を緩くしてみました。
    #確認していないのでばぐったらごめんなさい。。

    #lilyfanさんフォローいただきましてありがとうございます。

  5. bitterfrog
    メンバー
    3 years前の投稿 #

    hiromasaさん、作者の方にお返事いただきありがとうございます。
    それに、新らしいバージョンまで!

    で、やってみたのですが、結果は同じでした……なぜ(涙)。
    せっかく新バージョンまで作っていただいたというのに、申し訳ないです。
    画像は、すべてブログに投稿もしてあるのですが。
    ギャラリーも使えないということは、hiromasaさんのwp-kougabuに問題があるのではなく、こちらの環境に問題があるのかもしれません。

    もし、他に何か思い当たる原因がありましたらお教えいただけるとありがたいです。

  6. hiromasa
    メンバー
    3 years前の投稿 #

    bitterfrog さん、おはようございます。

    試していただきましてありがとうございます。 いえいえ、wp-kougabu の不具合です。
    どうやら、MySQL のバージョンにより動作が差異しているようです。

    bitterfrog さんのお使いの MySQL のバージョン分かりますでしょうか? 4.0 系はおそらくだめで、4.1 系は動作報告があるのですが、もしかするとマイナーバージョンによってはうまくないのかもしれません。

    実は以前、wp-kumonosu というプラグインでも同じように 4.1 系と 5 系で、SQL による抽出結果が差異して強引になおしたことがあったので、今回もそれと思います。

    時間がとれたらプログラム直してみたいと思いますので、よければ検証におつきあいください。 :-)

  7. bitterfrog
    メンバー
    3 years前の投稿 #

    hiromasaさん、こんにちは。
    ありがとうございます。
    MySQL のバージョンを書いていませんでした。
    調べてみたら、4.0.26でした。
    まさに「おそらくだめ」なマイナーバージョンでした。

    最初にサーバー決める時に、phpやMySQLのバージョンもチェックすべきですね。
    もしお時間が取れたらでけっこうですので、よろしくお願いします。
    検証にはとことんお付き合いさせていただきます。

  8. hiromasa
    メンバー
    3 years前の投稿 #

    bitterfrogさん、こんにちは。

    ありがとうございました。 4.0 でしたか~。

    WPのデータベースから画像を抽出するのに、MySQL に発行する SQL にサブクエリという2つのテーブルを同時に引く方法を使っているのですが、これが 4.0 で動作しないのが原因でした。

    ちょっと動作が遅くなるか、負荷が高くなるかするかもしれないのですが 4.0 用に1テーブルごとにひくようにプログラムをかいてみます。

    ちょっとただいま多忙なため、、気長にお待ちいただければと思います。 :-)

    #またここのトピックにポストします。

  9. IKEDA Yuriko
    常連回答者
    3 years前の投稿 #

    wp-kougabu の SQL はパッと見ただけだったのですが、改めて確認してみました。これは、単純結合および自己結合による単文 SQL にできますね。

    SELECT
      p1.ID as ID
    , p1.post_title as post_title
    , p2.guid as guid
    , m.meta_value as meta_value
    FROM
      wp_posts as p1, wp_posts as p2, wp_postmeta as m
    WHERE
      p1.ID = p2.post_parent
      AND p1.post_parent = 0
      AND p2.ID = m.post_id
      AND p2.post_status = 'inherit'
      AND p2.post_mime_type like 'image%'
      AND m.meta_key = '_wp_attachment_metadata'
    ORDER BY
      p2.post_date DESC;

    これでどうでしょう?? 手元で確認した限りでは、同じ結果が得られて、時間は 1/9 ぐらいです。wp-kougabu に入れるならば、以下のコードを 160行〜187行の $query と入れ替えて使ってくらはい。

    $query =
    "SELECT
      p1.ID as ID
    , p1.post_title as post_title
    , p2.guid as guid
    , m.meta_value as meta_value
    FROM
      {$wpdb->posts} as p1,{$wpdb->posts} as p2, {$wpdb->postmeta} as m
    WHERE
      p1.ID = p2.post_parent
      AND p1.post_parent = 0
      AND p2.ID = m.post_id
      AND p2.post_status = 'inherit'
      AND p2.post_mime_type like 'image%'
      AND m.meta_key = '_wp_attachment_metadata'
    ORDER BY
      p2.post_date DESC";

    ミソは、wp_posts を 2 回 FROM 節に入れて、それぞれ p1, p2 とエイリアスするところですね。前者が投稿本体を抽出する用で、後者がアタッチメントを抽出する用で使います。

  10. hiromasa
    メンバー
    3 years前の投稿 #

    >ミソは、wp_posts を 2 回 FROM 節に入れて、それぞれ p1, p2 とエイリアスするところですね。前者が投稿本体を抽出する用で、後者がアタッチメントを抽出する用で使います。

    あ、そか、にゃるほど。 完全に手続き型脳になっていました。(笑)
    ちょっとぼくも 4.0 が手元になくてためせないのですが、速くていいっすね!
    ありがとうございます。

    4.0 系の方の報告おまちしております~。
    よさそうなら・・・、ソースいただいていいっすか? さしかえます。:-) > lilyfanさん

  11. IKEDA Yuriko
    常連回答者
    3 years前の投稿 #

    あ、そか、にゃるほど。 完全に手続き型脳になっていました。(笑)

    多くの場合、サブクエリーは結合を使った単文クエリーに書き換えできます。このへんは MySQL レシビをいろいろ見てみるとよいでしょうか。

    よさそうなら・・・、ソースいただいていいっすか? さしかえます。:-) > lilyfanさん

    はい、元となったクエリーが GPL ですので、こちらも GPL で提供いたします。

  12. bitterfrog
    メンバー
    3 years前の投稿 #

    hiromasaさん、lilyfanさん
    おはようございます。
    これは、私も上記の部分を取り替えて、やってみたほうがいいでしょうか?
    その場合、wp-kougabuは、hiromasaさんが作ってくださった新しいバージョンで試すほうがいいでしょうか?
    それとも、今のところ素人は見守っているほうがよろしいでしょうか?(^^:

  13. IKEDA Yuriko
    常連回答者
    3 years前の投稿 #

    これは、私も上記の部分を取り替えて、やってみたほうがいいでしょうか?

    はい、お願いします。もしそれで動作すれば、上記の SQL クエリーが wp-kumonosu のコードとして採用されることになるはずです。hiromasa さんのテスト版よりも上記 SQL の方が動作する可能性が大ですので、そちらは試さなくていいと思います ;-)

  14. bitterfrog
    メンバー
    3 years前の投稿 #

    できました!
    hiromasa様、lilyfan様、
    上記のようにしてみたら、wp-kougabuが動きました!
    ありがとうございます。

    ただ、これはちょっと別の問題なのかもしれませんが、3カラムにした時、
    ●●

    ●●

    と並んでしまいます。これが4カラムだと
    ●●●

    ●●●

    で、5カラムは
    ●●●
    ●●
    ●●●
    ●●
    なのです。ならば6カラムはどうだ、とやってみると
    ●●●●
    ●●
    ●●●●
    ●●
    なのです。これは、テーマとの相性なのでしょうか。ちなみにwp-vicuna Ext1.55です。
    (質問場所が違うようでしたら移動させていただきます)

  15. hiromasa
    メンバー
    3 years前の投稿 #

    bitterfrog さん、こんにちは。

    動いて良かったです。 :-)
    カラム落ちの件ですが、とりあえず2カラムでやってみて OK であれば、入れ込む部分の幅の関係だと思います。 CSS の世界に入ってしまうのでちょっとあれですが、

    // internet explorer 7 hack.
    $itemwidth = $itemwidth - 1;

    プログラム中に上記の部分がありますが、ここが幅の制御を強引にしている部分で、 -1 を -4 とかにするとうまくいったりするかもしれません。

    また、そのもう少し下の部分に CSS の記述もあるので、がんばっていろいろ修正してみてください。 あと、テーマ自身の幅をかえるのも手かもしれません。 :-)

    # のちほど wp-kougabu の CVS にソースコミットさせていただきます! ありがとうございました。 > lilyfan さん

  16. bitterfrog
    メンバー
    3 years前の投稿 #

    hiromasa様
    実は、2カラムでもカラム落ちしてしまっていました。
    1カラムにした時は、カラム内の(書き方がややこしくてすみません)センターにサムネイルが並び、
    2カラムにした時は、カラム内で左寄せになってサムネイルが並びました。

    で、テーマは1カラムで使用しており、幅は800pxぐらいあって充分かなと思われます。

    ご教示のように、$itemwidth = $itemwidth - 1;の値を変えてみましたが、数値を上げるとサムネイルが重なったりしてしまい、もとの-1に戻しました。

    現物を見ていただくのが一番かと思いますのでアドレス書いておきます。
    http://www.daikimakoto.net/days/image-list/
    こんな具合です。今は何だか並びもへんなことになっちゃってますが(´`;)

  17. Minami
    メンバー
    3 years前の投稿 #

    bitterfrogさん
    こんにちは。Minamiです。

    表示されたページ の wp-kougabu.php の CSS を見てみたら、マージンのところが変更されているようなので、デフォルトに戻してみたらどうでしょうか?(なんとなく 6px が、16%-1 の 15% にプラスされているのではないかと、、違ったらごめんなさい)

    (変更前)
    .gallery {
    margin: 3;
    }

    .gallery-caption {
    margin-left: 3;
    }

    (デフォルト数値)
    .gallery {
    margin: auto;
    }

    .gallery-caption {
    margin-left: 0;
    }

    その後、カラム数を変更、調整してみてください。

    ちなみに、わたしも使っていますが、幅510px 内に、100px 4カラムで表示できています。
    マージンは横幅の比率で決められるようなので、新たにマージンを設定する必要がないということだと思います。

  18. bitterfrog
    メンバー
    3 years前の投稿 #

    Minami様
    アドバイスありがとうございます。
    あー、確かにcssをそんなふうに触った覚えが(汗)。
    で、デフォルトに戻してみました。

    うーん、並びは相変わらずです。
    試しに2カラムにしてみましたが、こんな風になってます。
    http://www.daikimakoto.net/days/image-list/
    これはやはりテーマの作者の方のほうにお尋ねするほうが良いのかどうか……

  19. hiromasa
    メンバー
    3 years前の投稿 #

    こんにちは。 :-)

    lilyfan さんに修正していただいた SQL を wp-kougabu のほうにマージしました。
    以下からダウンロードできます。 ありがとうございました。 :-)

    http://wppluginsj.sourceforge.jp/wp-kougabu/

    bitterfrog さん

    Firefox 3.0 と IE 7、Konqueror 3.5.9 で拝見したところ、4カラムでうまく出力できていますね!
    IE 6 だとだめなんですかね。。
    とりあえず、あとは CSS の世界だと思いますので、よければこのトピック閉じてしまいましょうか。

    いろいろ検証いただきましてありがとうございました!。 大変参考になりました。

返信

ログイン しなければ投稿できません。

About this Topic