Store story comment count in post row
Primarily for query purposes.
This commit is contained in:
parent
404479d131
commit
7aec3c55af
@ -937,3 +937,51 @@ if ( ! function_exists( 'fictioneer_sql_get_story_chapter_relationship_data' ) )
|
|||||||
return $results;
|
return $results;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns comment count of a story
|
||||||
|
*
|
||||||
|
* @since 5.26.0
|
||||||
|
*
|
||||||
|
* @global wpdb $wpdb WordPress database object.
|
||||||
|
*
|
||||||
|
* @param int $post_id Post ID.
|
||||||
|
*
|
||||||
|
* @return int Comment count.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function fictioneer_sql_get_comment_count( $post_id ) {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
$query = $wpdb->prepare(
|
||||||
|
"SELECT comment_count
|
||||||
|
FROM {$wpdb->posts}
|
||||||
|
WHERE ID = %d",
|
||||||
|
$post_id
|
||||||
|
);
|
||||||
|
|
||||||
|
return $wpdb->get_var( $query );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the comment count of a post
|
||||||
|
*
|
||||||
|
* @since 5.26.0
|
||||||
|
*
|
||||||
|
* @global wpdb $wpdb WordPress database object.
|
||||||
|
*
|
||||||
|
* @param int $post_id Post ID.
|
||||||
|
* @param int $count Comment count.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function fictioneer_sql_update_comment_count( $post_id, $count ) {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
$wpdb->update(
|
||||||
|
$wpdb->posts,
|
||||||
|
array( 'comment_count' => $count ),
|
||||||
|
array( 'ID' => $post_id ),
|
||||||
|
['%d'],
|
||||||
|
['%d']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
@ -425,6 +425,8 @@ function fictioneer_increment_story_comment_count( $comment_id ) {
|
|||||||
if ( $story_data ) {
|
if ( $story_data ) {
|
||||||
$story_data['comment_count'] = intval( $story_data['comment_count'] ) + 1;
|
$story_data['comment_count'] = intval( $story_data['comment_count'] ) + 1;
|
||||||
update_post_meta( $story_id, 'fictioneer_story_data_collection', $story_data );
|
update_post_meta( $story_id, 'fictioneer_story_data_collection', $story_data );
|
||||||
|
|
||||||
|
fictioneer_sql_update_comment_count( $story_id, $story_data['comment_count'] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,6 +453,8 @@ function fictioneer_decrement_story_comment_count( $comment_id ) {
|
|||||||
if ( $story_data ) {
|
if ( $story_data ) {
|
||||||
$story_data['comment_count'] = max( 0, intval( $story_data['comment_count'] ) - 1 );
|
$story_data['comment_count'] = max( 0, intval( $story_data['comment_count'] ) - 1 );
|
||||||
update_post_meta( $story_id, 'fictioneer_story_data_collection', $story_data );
|
update_post_meta( $story_id, 'fictioneer_story_data_collection', $story_data );
|
||||||
|
|
||||||
|
fictioneer_sql_update_comment_count( $story_id, $story_data['comment_count'] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -429,6 +429,9 @@ if ( ! function_exists( 'fictioneer_get_story_data' ) ) {
|
|||||||
$meta_cache['comment_count'] = $comment_count;
|
$meta_cache['comment_count'] = $comment_count;
|
||||||
$meta_cache['comment_count_timestamp'] = time();
|
$meta_cache['comment_count_timestamp'] = time();
|
||||||
|
|
||||||
|
// Update post database comment count
|
||||||
|
fictioneer_sql_update_comment_count( $story_id, $comment_count );
|
||||||
|
|
||||||
// Update meta cache and purge
|
// Update meta cache and purge
|
||||||
update_post_meta( $story_id, 'fictioneer_story_data_collection', $meta_cache );
|
update_post_meta( $story_id, 'fictioneer_story_data_collection', $meta_cache );
|
||||||
|
|
||||||
@ -579,6 +582,9 @@ if ( ! function_exists( 'fictioneer_get_story_data' ) ) {
|
|||||||
// Update story total word count
|
// Update story total word count
|
||||||
update_post_meta( $story_id, 'fictioneer_story_total_word_count', $word_count );
|
update_post_meta( $story_id, 'fictioneer_story_total_word_count', $word_count );
|
||||||
|
|
||||||
|
// Update post database comment count
|
||||||
|
fictioneer_sql_update_comment_count( $story_id, $comment_count );
|
||||||
|
|
||||||
// Done
|
// Done
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user