現在ログインしているユーザーを表示するために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;
}
しかし、現在ログインしているユーザーが投稿した投稿だけを表示するように調整する方法についてはよくわかりません。
これに関するどんな助けと方向でも歓迎されるでしょう。ありがとうございました :)
'author' => get_current_user_id()
の引数としてget_posts()
を使用してください。これは見つかった投稿を現在ログインしているユーザーのものに制限します。
利用可能なパラメータの最もよい参照はまだwp-includes/query.php
のWP_Query::parse_query()
です。これは厳密なアトミック関数ではありませんが、他には記載されていないパラメータを見つけることができます - このように。
けん引メモはあなたのコードに隣接します。
onchange
ハンドラは少し奇妙に見えます。何もしないのですか。get_the_title()
を使用しないでください。投稿のタイトルにマークアップを含めることができます。the_title_attribute( array ( 'echo' => FALSE ) );
を使用してください。