web-dev-qa-db-ja.com

wp_dropdown_pagesのデフォルト値

私はページのドロップダウンメニューを持っています、しかし、私が選択されたページに行った後に、「私たちについて」と言いましょう、dropbownのデフォルトタイトルボタンはページのタイトル、「私たちについて」です。 「ページを選択してください」というようなものです。

私のコードはこれです:

wp_dropdown_pages("title_li=&depth=1&sort_column=menu_order&child_of=".$post->post_parent."&echo=0&selected=$currPage");

何が間違っているのか、または私のコードはどのように見えるべきですか?

2
aBc

「URl query argument」スタイルから配列に切り替えることをお勧めします。これは「機能」であり、他のものよりも下位互換性の理由でのみ利用可能ないくつかの機能に残されています。

これがあなたの現在の議論を書き直したものです。

wp_dropdown_pages( array(
    'title_li'    => '',
    'depth'       => TRUE,               // originally: 1,
    'sort_column' => 'menu_order',
    'child_of'    => $post->post_parent,
    'echo'        => FALSE,              // originally: 0,
    'selected'    => $currPage,
) );

echo0/falseに設定されていて、そのステートメントの前にecho/printが付いていない場合、どうやってそのドロップダウン/選択要素を表示できたのでしょうか。このようにテンプレートに追加するだけの場合は、echoTRUEに設定したほうがよいでしょう。

selected引数を見ると(そしてCodexのドキュメントで読むことができるように)、これは現在どの要素がselectedであるかを選択する引数です。現在のページのスラッグが含まれていると仮定して、$currPageに設定しているので、正確にそれがわかります。問題を解決するには、空の文字列''に設定するだけです。

最初の/選択されていない値について:show_option_none引数で設定できます

'show_option_none' => 'Please select a page',
1
kaiser