AnsPress_Views()
Description #
Views hooks
Source #
File: includes/views.php
class AnsPress_Views {
/**
* Initialize the plugin by setting localization and loading public scripts
* and styles.
*
* @since 2.4.8 Removed `$ap` args.
*/
public static function init() {
anspress()->add_action( 'shutdown', __CLASS__, 'insert_views' );
anspress()->add_action( 'ap_before_delete_question', 'AnsPress_Vote', 'delete_votes' );
}
/**
* Insert view count on loading single question page.
*
* @param string $template Template name.
*/
public static function insert_views( $template ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
if ( is_question() ) {
// By default do not store views in ap_views table.
if ( apply_filters( 'ap_insert_view_to_db', false ) ) {
ap_insert_views( get_question_id(), 'question' );
}
// Update qameta.
ap_update_views_count( get_question_id() );
}
}
/**
* Delete views count when post is deleted.
*
* @param integer $post_id Post ID.
* @since 4.0.0
*/
public static function delete_views( $post_id ) {
global $wpdb;
if ( apply_filters( 'ap_insert_view_to_db', false ) ) {
$wpdb->delete( $wpdb->ap_views, array( 'view_ref_id' => $post_id ), array( '%d' ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
}
}
}
Expand full source code Collapse full source code View on GitHub: includes/views.php:22
Add your comment