Как отобразить заголовок страницы + ссылку на страницу, созданную пользователем

Я хочу проверить, зарегистрирован ли пользователь и если он создал страницу. Если это так, отображается опция 1. Все это прекрасно работает.

Но как отображать заголовок страницы + ссылку на страницу, созданную этим пользователем, между {заголовком страницы со ссылкой на страницу}

См. Код ниже. Я тестировал его без каких-либо результатов. Как используется в приведенном ниже коде, ничего особенного не отображается, только текст варианта 1 (который хорош для пользователя, имеет страницу, созданную и вошедшую в систему).

<?php if ( is_user_logged_in() ) { global $wpdb; $user = wp_get_current_user(); $where = get_posts_by_author_sql( 'page', true, $user->ID ); $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" ); if ( $count >= 1 ) { // this part is added to display page title+link created by current user foreach ( $results as $result ) printf( '<a href="%1$s">%2$s</a><br>', get_permalink( $result->ID ), esc_html( $result-post_title ) ); ?> //option 1 <h2>Hey <?php echo $current_user->display_name ?>, check your page here: {page title with link to page} </h2> <?php } else { ?> //option 2 <h2>Welcome <?php echo $current_user->display_name ?>, etc.. text with tags etc.</h2> <?php } } else { ?> //option 3 <h2>text with tags etc.</h2> <?php } ?> 

Любые предложения?

Чтобы перечислить все страницы с заголовком и постоянной $wpdb->get_results() от одного пользователя, вам нужно $wpdb->get_results() . Следующий код основан на этом ответе: Как подсчитать текущие страницы пользователя?

Во-первых, мы перемещаем счетчик в отдельную вспомогательную функцию; нам может понадобиться это позже:

 /** * Get all post IDs and titles of a type for a user. * * @param int $user_id * @param string $post_type 'page' (default), 'post', attachment, a custom post * type or 'any' (which excludes attachments) * @return array */ function t5_user_pages( $user_id, $post_type = 'page' ) { global $wpdb; $where = get_posts_by_author_sql( $post_type, true, $user_id ); return $wpdb->get_results( "SELECT ID, post_title FROM $wpdb->posts $where" ); } 

Теперь мы используем эту функцию в нашем коде:

 if ( is_user_logged_in() ) { $user = wp_get_current_user(); $results = t5_user_pages( $user->ID ); $count = count( $results ); if ( $count >= 1 ) { print '<h2>Hello ' . esc_html( $user->display_name ) . '!</h2> <p>These are your pages:</p> <ul>'; foreach ( $results as $result ) printf( '<li><a href="%1$s">%2$s</a></li>', get_permalink( $result->ID ), esc_html( $result->post_title ) ); print '</ul>'; } else { // user is logged in but hasn't written anything } } else { // user is not logged in } 

Найди его! проверьте код ниже:

 <?php if ( is_user_logged_in() ) { global $wpdb; $user = wp_get_current_user(); $where = get_posts_by_author_sql( 'page', true, $user->ID ); $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" ); if ( $count >= 1 ) { ?> //option 1 if user is logged in and have created a page // added Toscho's code from answer 1 between second '<? php ?>' <h2>Hey <?php echo $current_user->display_name ?>, check your page here: <?php foreach ( $results as $result ) printf( '<a href="%1$s">%2$s</a>', get_permalink( $result->ID ), esc_html( $result->post_title ) ); ?></h2> <?php } else { ?> //option 2 if user is logged in, but have not yet submitted a page <h2>Welcome <?php echo $current_user->display_name ?>, etc.. text with tags and some form php code</h2> <?php } } else { ?> //option 3 is no user is not logged in <h2>text with tags etc and social login php code</h2> <?php } ?>