web-dev-qa-db-ja.com

現在のユーザーによる投稿をドロップダウンで表示する方法

現在ログインしているユーザーを表示するためにContact Form 7と連携して機能するショートコードを作成しようとしています。

私はそれをここにこのコードを使用して通常の投稿で動作するようにすることができました:

wpcf7_add_shortcode('postdropdown', 'createbox', true);
    function createbox(){
    global $post;
    $args = array('numberposts' => 0);
    $myposts = get_posts( $args );
    $output = "<select name='cursus' id='cursus' onchange='document.getElementById(\"cursus\").value=this.value;'><option></option>";
    foreach ( $myposts as $post ) : setup_postdata($post);
        $title = get_the_title();
        $output .= "<option value='$title'> $title </option>";

        endforeach;
    $output .= "</select>";
    return $output;
}

しかし、現在ログインしているユーザーが投稿した投稿だけを表示するように調整する方法についてはよくわかりません。

これに関するどんな助けと方向でも歓迎されるでしょう。ありがとうございました :)

1
Nicole

'author' => get_current_user_id()の引数としてget_posts()を使用してください。これは見つかった投稿を現在ログインしているユーザーのものに制限します。

利用可能なパラメータの最もよい参照はまだwp-includes/query.phpWP_Query::parse_query()です。これは厳密なアトミック関数ではありませんが、他には記載されていないパラメータを見つけることができます - このように。

けん引メモはあなたのコードに隣接します。

  1. あなたのonchangeハンドラは少し奇妙に見えます。何もしないのですか。
  2. 属性値にget_the_title()を使用しないでください。投稿のタイトルにマークアップを含めることができます。
    代わりにthe_title_attribute( array ( 'echo' => FALSE ) );を使用してください。
1
fuxia