PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Column / User / PostCount.php
codepress-admin-columns / classes / Column / User Last commit date
CommentCount.php 5 years ago Description.php 5 years ago DisplayName.php 5 years ago Email.php 5 years ago FirstName.php 5 years ago FirstPost.php 5 years ago FullName.php 5 years ago ID.php 5 years ago LastName.php 5 years ago LastPost.php 5 years ago Login.php 5 years ago Name.php 5 years ago Nicename.php 5 years ago Nickname.php 5 years ago PostCount.php 5 years ago Posts.php 5 years ago Registered.php 5 years ago RichEditing.php 5 years ago Role.php 5 years ago ShowToolbar.php 5 years ago Url.php 5 years ago Username.php 5 years ago
PostCount.php
72 lines
1 <?php
2
3 namespace AC\Column\User;
4
5 use AC\Column;
6 use AC\Settings;
7
8 /**
9 * @since 2.0
10 */
11 class PostCount extends Column {
12
13 public function __construct() {
14 $this->set_type( 'column-user_postcount' )
15 ->set_label( __( 'Post Count', 'codepress-admin-columns' ) );
16 }
17
18 public function get_value( $user_id ) {
19 $ids = $this->get_raw_value( $user_id );
20
21 if ( empty( $ids ) ) {
22 return $this->get_empty_char();
23 }
24
25 $value = number_format_i18n( count( $ids ) );
26
27 if ( post_type_exists( $this->get_selected_post_type() ) ) {
28 $link = add_query_arg( [
29 'post_type' => $this->get_selected_post_type(),
30 'author' => $user_id,
31 ], admin_url( 'edit.php' ) );
32
33 $value = sprintf( '<a href="%s">%s</a>', $link, $value );
34 }
35
36 return $value;
37 }
38
39 protected function get_selected_post_type() {
40 return $this->get_setting( 'post_type' )->get_post_type();
41 }
42
43 public function get_raw_value( $user_id ) {
44 $post_type = $this->get_selected_post_type();
45
46 if ( 'any' === $post_type ) {
47 // All post types, including the ones that are marked "exclude from search"
48 $post_type = get_post_types();
49 }
50
51 return get_posts( [
52 'fields' => 'ids',
53 'author' => $user_id,
54 'post_type' => $post_type,
55 'posts_per_page' => -1,
56 'post_status' => $this->get_selected_post_status(),
57 ] );
58 }
59
60 /**
61 * @return array
62 */
63 public function get_selected_post_status() {
64 return $this->get_setting( 'post_status' )->get_value();
65 }
66
67 protected function register_settings() {
68 $this->add_setting( new Settings\Column\PostType( $this, true ) );
69 $this->add_setting( new Settings\Column\PostStatus( $this ) );
70 }
71
72 }