J'essaie d'écrire un shortcode qui fonctionne conjointement avec le formulaire de contact 7 pour afficher l'utilisateur actuel qui est connecté à des publications.
J'ai pu le faire fonctionner avec des messages réguliers en utilisant ce code ici:
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;
}
Cependant, je ne sais pas trop comment l'adapter pour afficher uniquement les publications que l'utilisateur actuellement connecté a postées.
Toute aide et direction à ce sujet serait la bienvenue. Je vous remercie :)
Utilisez 'author' => get_current_user_id()
comme argument pour get_posts()
. Cela limitera les publications trouvées à celles de l'utilisateur actuellement connecté.
La meilleure référence pour les paramètres disponibles est toujours WP_Query::parse_query()
dans wp-includes/query.php
. Ce n'est pas exactement une fonction atomique, mais vous pouvez trouver des paramètres non documentés ailleurs - comme celui-ci.
Les notes de remorquage butent de votre code:
onchange
semble un peu étrange. Cela ne fait rien, n'est-ce pas?get_the_title()
pour les valeurs d'attribut. Le titre de l'article peut contenir du balisage.the_title_attribute( array ( 'echo' => FALSE ) );
à la place.