Tsuyoshi.
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページにカスタムフィールドの値を参照して地図を表示させたい今から提示するパターンで表示されるか試してみて下さい(書き換えずにコピーして下さい)。
<?php echo esc_html( get_post_meta( get_the_ID(), ‘address’, true ) ); ?>
<?php echo esc_html( post_custom( ‘address’ ) ); ?>
get_post_metaの場合は、$post->IDが取得できてないだけかなと思います。
var_dump( $post->ID );
では値はどうなっていますか?
また、$post->IDをget_the_ID()に書き換えてみてはどうでしょうか。post_customで値が出力されるなら以下で変数$adrに値が入ると思いますよ。
<?php $adr = esc_html( post_custom( ‘address’ ) ); ?>
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページにカスタムフィールドの値を参照して地図を表示させたいいきなり全部をやろうとしないで下さい。
ショートコードの部分が間違ってるかはわかりませんが、少なくとも今上手く行っていない第一の原因はカスタムフィールドの値が取ってこれていないためです。
ですので、先ずは地図の表示は考えずにカスタムフィールドの値を表示だけする、ということを1ステップと考えましょうと言ったのです。esc_html(get_post_meta($post->ID, address, true));
後ここ間違ってます。addressではなく‘address’です。
ちなみに聞きますがscheduleはカスタム投稿タイプですか?固定ページなら投稿タイプがpageとなりますが、投稿画面には住所という入力欄があり、データは入力されている状態ですよね?先ずNULLで返ってくること自体おかしい気がするので、テスト環境であればデバッグモードをオンにしてみて下さい。
以下気になる点です。
1. conf.iniの設定が間違っていないか(正しければ2が表示される筈です)
2. 投稿画面にカスタムフィールドの入力欄が表示されているか。
3. カスタムフィールドの値を入力しているか
4. 投稿データを取得するループ処理が書かれているか(以下に例を記します)<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <?php echo esc_html( get_post_meta( get_the_ID(), 'address', true ) ); ?> <?php endwhile; ?> <?php endif; ?>
以上を踏まえてカスタムフィールドの値を表示できるかをお試し下さい。
ここが出来ないことにはその次には進めないので、地図の表示は一度忘れて下さい。Custom Field GUI Utility及びカスタムフィールドの使い方をもう一度調べなおして見ることをお勧めします。
後もしかしたらですが、バージョンがあってないこともありうるかも知れませんので、WordPressやプラグインのバージョンを確認するということと、フォーラムの投稿時にも提示したほうが良いとおもいますよ。
フォーラム: 使い方全般
返信が含まれるトピック: 指定の期間を過ぎたら表示する下記ので表示されるのですが
それは本当ですか?
Ymdの部分は“Ymd”と‘Ymd’ダブルコーテーションかシングルコーテーションで囲っていないとNotice警告が出ると思いますが?(DEBUGモード時)
表示されていてもそれは構文的に間違っているので誤りです。PHP Manualを参考にして下さい。Ymdなどの書式設定は文字列で指定します。
PHP: date – Manualカスタムフィールドの出力は以下のようになるかと思います。
必要に応じて変更して下さい。<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <?php echo esc_html( get_post_meta( get_the_ID(), 'カスタムフィールドのキー', true ) ); ?> <?php endwhile; ?> <?php endif; ?>
また、Codexも参考にしてみて下さい。
関数リファレンス/get post meta – WordPress Codex 日本語版フォーラム: 使い方全般
返信が含まれるトピック: 固定ページにカスタムフィールドの値を参照して地図を表示させたいカスタムフィールドの出力は以下のようになるかと思います。
<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <?php echo esc_html( get_post_meta( get_the_ID(), 'カスタムフィールドのキー', true ) ); ?> <?php endwhile; ?> <?php endif; ?>
その際のCustom Field Gui Utilityのconf.iniの内容はあくまで例ですが、こんな感じですかね。
[カスタムフィールドのキー] fieldname = 地図 type = textfield class = 投稿タイプ size = 80
カスタムフィールドのキーの部分は、今回で言えば「adr」を、投稿タイプの部分には「post」「page」またはカスタム投稿タイプの post_type を指定します。
先ずは以下を参考に、カスタムフィールドの出力が行えるところまで頑張ってみてください。
Custom Field GUI Utility 3.2 – WordPress プラグインまた、Codexも参考にしてみて下さい。
関数リファレンス/get post meta – WordPress Codex 日本語版フォーラム: 使い方全般
返信が含まれるトピック: 指定の期間を過ぎたら表示するnishiharaさん、こんばんは。
date(Ymd)
ではなく
date(‘Ymd’)
では?後はWordPressのdate_i18n()関数を使用したほうがいい気もします。
PHPの日付の比較についてはあまり詳しくないんですが、strtotimeで変換して比較したほうが無難かも知れません。
フォーラム: 使い方全般
返信が含まれるトピック: PHP知識がありません。投稿記事のページ送りについて「古い記事へ」と「新しい記事へ」というリンクを表示させたい場所に入れます。
例えばフッターの上部とかですかね?
ちなみに
<?php query_posts("showposts=20"); ?>
という記述がテーマ内にあるので、これでは20件表示になってしまいそうですね。フォーラム » 【重要】 お読みくださいの問題解決のためのチェックリストの「投稿に記載する内容」にあるように、投稿時に最低限の情報は提示するようにお願いいたします。
- WordPress のバージョン
- 使用しているプラグインとテーマの情報(名称、入手先 URL、バージョン)
- PHP、MySQL のバージョン
- サーバー環境(ホスティングサービス名、OS、ウェブサーバー等)
- ブラウザとそのバージョン
- エラーが表示された場合、「XX のようなエラー」ではなく、なるべくエラー文をコピーしてそのまま貼り付けてください
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページにカスタムフィールドの値を参照して地図を表示させたいGoogle Maps v3 Shortcodeは、自分も使ったことはないのですが
var_dump()を入れると「NULL」ということは、先ずカスタムフィールドの値が取得できていないということです。
なので焦らず1つずつ進めて行きましょう。先ず第一にカスタムフィールドの値を取得出来るようにする。
var_dump()でちゃんと値が入っているか確認してみて下さい。
そしてそれでも地図が表示されていなければショートコード出力のところも見直しましょう。’’で囲って
var_dump( $adr );
とした場合でもNULLになるでしょうか?フォーラム: 使い方全般
返信が含まれるトピック: PHP知識がありません。投稿記事のページ送りについてkatsunosukeさん、こんにちは。
<?php next_posts_link('古い記事へ') ?> <?php previous_posts_link('新しい記事へ') ?>
上記のようなコードをテーマに入れるということでは駄目なのでしょうか?1ページあたりの最大表示件数は管理画面から変更できます。
管理画面の[設定]->[表示設定]->[1ページに表示する最大投稿数]です。もっと細かいことを簡単に実装しようとなると、やはりプラグインが簡単だと思います。
WP-PageNaviは手間も大してかかりませんよ。WP-PageNaviを導入して、テーマのページネーションを入れたい箇所に以下のようにコードを入れると良いでしょう。
検証はしてないので導入方法はご自身でも調べてみて下さい。<?php if( function_exists( 'wp_pagenavi' ) ) { wp_pagenavi(); } ?>
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページにカスタムフィールドの値を参照して地図を表示させたいmomonutsさん、こんにちは。
カスタムフィールドは
[adr]
のようにconf.iniに定義しているのでしょうか?
だとすれば
$adr = esc_html(get_post_meta($post->ID, adr, true));
ではなく
$adr = esc_html( get_post_meta( $post->ID, ‘adr’, true ) );
だと思うのですがどうでしょうか?正しくはadrではなく’adr’と文字列で指定する気がします。
変数$adrに先ず何が入っているのか確認してみませんか?
変数の値を確認する関数としてvar_dump()というものがあります。var_dump( $adr );
フォーラム: 使い方全般
返信が含まれるトピック: チェックボックスの条件vialist2011さん、返信遅れました。
echo “赤と青が選択されました。”;
echo “赤と黄が選択されました。”;
上記の部分を
echo ‘<img src=”画像のパス” />’;
みたいに、変えてやればいいだけです。
フォーラム: 使い方全般
返信が含まれるトピック: リンク文字を代替した画像をロールオーバーさせる方法?フォーラム: 使い方全般
返信が含まれるトピック: リンク文字を代替した画像をロールオーバーさせる方法?zen73さん、乗りかかった船ですので一応最後に答えておきます。
先ず
text-align: right;
という指定ですが、通常テキストを右寄せで表示する場合に使用します。
教えていただいたすぐ後に試したときは,きちんと右寄せができて喜んでいたのですが,今回はなぜ右寄せができないのか,私にとっては全くの謎としか思えなく,サイト作成の意欲も萎えてしまいがちです。
きちんと右寄せが出来たコードが出来たコードがどれかは分かりませんが、それは画像が表示された状態で右寄せされたのでしょうか?
予想ですが、先程zen73さんが書かれたコードではコメントの方法が間違っていたため
width:85px;
の指定が効いておらず、.btn_s aの幅が親要素の100%とみなされて右側に表示されてただけではありませんか?
HTMLの要素にはインライン要素とブロック要素というものがあります。
通常ブロック要素は左寄せで表示されtext-alignでは右寄せになりません。
85pxと横幅を指定しているので背景画像の横幅が85pxとしたら左側に表示されるのは当然です。
ブロック要素を右側に持って行きたい場合は、floatやpositionを使うと良いでしょう。後は先程書きました通り、ご自分で基礎から勉強されて下さい。
謎などという言葉で片付けず、きちんと基礎を学んで下さい。
WordPressでサイトを作成するとなるとPHPの知識はケースババイケースですが、HTMLとCSSの基礎知識は必須です。これ以上の回答はもうしません。
WordPressとも特に関係ありませんので、この投稿は閉じるようお願い致します。
次からの投稿は気をつけて下さいね。フォーラム: 使い方全般
返信が含まれるトピック: リンク文字を代替した画像をロールオーバーさせる方法?zen73さん、こんにちは。
上記の質問ですとHTMLとCSSの知識があれば充分ですのでWordPressとはほぼ関係ないと思いますが、一応お答えします。
先ず、zen73さんが貼り付けられてるコードですが構文ミスが多数あるため当然正しく動作しません。
no-repeat right 0;
上記の部分ですが、全角スペースが入っていますね。正しくは半角スペースです。
//画像の縦幅
//画像の横幅次に上記の部分ですが、このコードは実際も書かれているのでしょうか?
CSSのコメントは/* */で囲む形になっております。
こんな風に書いてしまっては動くものも動きません。width:85px;//画像の横幅}
そしてこの部分ですが、コメントアウトの方法も間違っていますが加えて } が一つ余分です。
どれも基本的なミスです。ツッコみどころとしてはいろいろあるのですが、CSSの指摘についてはこの辺にして置きます。
これからは出来れば何が間違っているのか、もっとご自分で検証されてから投稿して下さい。
最低限CSSの文法チェックくらい行なって下さい。
W3C CSS 検証サービス動かない、分かりません、教えて下さい、と言う前に出来ることがある筈です。
今までの投稿も拝見しましたが、先ずはHTMLとCSSの基礎部分をご自分で勉強されることをお勧めします。
フォーラム: 使い方全般
返信が含まれるトピック: チェックボックスの条件vialist2011さん、今晩は。
横から失礼致します。
Advanced Custom Fields v3.5.3.1
WordPress 3.4.2で試してみました。ざっくりこんな感じでどうでしょうか。
赤、青、黄という順にカスタムフィールドを定義しています。<?php //チェックボックスフィールドの値取得(チェックがあれば、配列で返ってくる) $fields = get_field( 'color' ); if( is_array( $fields ) ) { //in_arrayで一括検索するため配列を入れ子にする $fields = array( $fields ); //赤と青が選択されている時(赤、青の順で定義されている前提) if( in_array( array( '赤','青' ), $fields ) ) { echo "赤と青が選択されました。"; } //赤と黄が選択されている時(赤、黄の順で定義されている前提) if( in_array( array( '赤','黄' ), $fields ) ) { echo "赤と黄が選択されました。"; } } ?>
例の場合、赤と青にチェックが入ってると配列変数$fieldsの中身は以下のようになっています。
array 0 => array 0 => string '赤' (length=3) 1 => string '青' (length=3)
フォーラム: プラグイン
返信が含まれるトピック: wordpress popular postsでテストをしたいjn0424さん、こんばんは。
例えばローカル環境でも以下の手順で確認できるかと思います。
1. ローカル環境にWordpress Popular Postsプラグインを導入する。
2. ウィジェットの登録(このときSort posts byはTotal viewsを選択)
3. 管理画面をログアウトした状態で記事データに適当にアクセス。
すると「プレフィックス_popularpostsdata」「プレフィックス_popularpostsdatacache」というテーブルにアクセスした記事のデータが入り、表示を確認することが出来ます。
ウィジェットの登録の時、Sort posts byをCommentsにしていると、おそらくコメント数を見てると思いますので「Sorry. No data so far.」となってしまいます。ご注意下さい。