Deze instructie is bedoeld om ervoor te zorgen dat er een overzicht komt van alle aangemaakte posts en deze te bewerken zijn via een ACF form. (of advanced forms wellicht)
<?php
if ( is_user_logged_in() ): // is de user ingelogd?
global $current_user;
wp_get_current_user();
if(empty($_GET["praktijkid"])){ // check of de query parameter aanwezig is
$author_query = array('posts_per_page' => '-1','post_type' => 'praktijken','author' => $current_user->ID); // haal alle posts op
$author_posts = new WP_Query($author_query);
while($author_posts->have_posts()) : $author_posts->the_post();
$id_praktijk = get_the_id();?>
<h2><a href="?praktijkid=<?php echo $id_praktijk; ?>"><?php the_title(); ?></a></h2> // link naar dezelfde pagina met de query parameter in de URL.
<?php
endwhile;
} else { // query parameter is aanwezig
$id_praktijk = $_GET['praktijkid'];
$author_query = array(
'posts_per_page' => '1',
'post_type' => 'praktijken',
'p' => $id_praktijk, // haal alleen de post op die mee is gegeven in de URL
'author' => $current_user->ID); // alleen de posts van de gebruiker!
$author_posts = new WP_Query($author_query);
if($author_posts->have_posts()) {
while($author_posts->have_posts()) : $author_posts->the_post();
?>
<h2><?php the_title(); ?></h2>
<?php
if(isset($_GET['updated'])){
if($_GET['updated'] == 'true'){
echo '<p style="color:green;font-weight:bold">Uw praktijk informatie is ge-update.</p>';
echo '<a href="'.esc_url( get_permalink($id_praktijk) ).'">Bekijk uw praktijk pagina</a>';
}
}
acf_form(array(
'post_id' => $id_praktijk,
'post_type' => 'praktijken',
'post_title' => false,
'field_groups' => array('group_59ca5ff386e12','group_59ca61d92aacb','group_5981df1fe8748'),
'post_content' => true,
'submit_value' => __("Update", 'krootz'),
'updated_message' => __("Post updated", 'acf'),
'html_updated_message' => '<div id="message" class="updated"><p>%s</p></div>',
'honeypot' => true,
'html_submit_spinner' => '<span class="acf-spinner"></span>',
'uploader' => 'basic'
)); ?>
<?php
endwhile;
} else {
echo "De geselecteerde praktijk kan niet worden gevonden.";
};
}
else :
endif;?>
#acf #advanced forms #custom post type #frontend edit #functions #template