Boone Gorges
c6c9f8ad26
Split the comment query.
...
`WP_Comment_Query` now fetches comments in two stages: (1) a query to get the
IDs of comments matching the query vars, and (2) a query to populate the
objects corresponding to the matched IDs. The two queries are cached
separately, so that sites with persistent object caches will continue to have
complete cache coverage for normal comment queries.
Splitting the query allows our cache strategy to be more modest and precise, as
full comment data is only stored once per comment. It also makes it possible
to introduce logic for paginated threading, which is necessary to address
certain performance problems.
See #8071 .
data is only stored once per comment, instead of along with
Built from https://develop.svn.wordpress.org/trunk@34310
git-svn-id: http://core.svn.wordpress.org/trunk@34274 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 19:28:51 +00:00
Boone Gorges
32887d3dfb
Lazy-load comment meta on single post pages.
...
[34268] introduced cache priming for commentmeta, enabled by default. To
ensure performance on single post pages - where commentmeta is most likely
to cause performance issues - we disable up-front cache-priming. Instead, we
prime commentmeta caches for all comments in the loop the first time
`get_comment_meta()` is called on the page.
Props bradt, dd32, wonderboymusic, boonebgorges.
Fixes #16894 .
Built from https://develop.svn.wordpress.org/trunk@34270
git-svn-id: http://core.svn.wordpress.org/trunk@34234 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-17 20:01:24 +00:00
Boone Gorges
bb43f72692
Prime comment meta caches in `WP_Comment_Query`.
...
The new 'update_comment_meta_cache' parameter, which defaults to `true`, can
be used to disable this behavior.
`update_comment_cache()` has been updated to support an `$update_meta_cache`
parameter, which also updates to true; this matches the pattern we use for
priming post caches.
See #16894 .
Built from https://develop.svn.wordpress.org/trunk@34268
git-svn-id: http://core.svn.wordpress.org/trunk@34232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-17 19:30:27 +00:00
Sergey Biryukov
444509e246
Docs: Expand the `$comment_approved` argument description for `'comment_post'` action.
...
Props cfinke.
Fixes #33903 .
Built from https://develop.svn.wordpress.org/trunk@34253
git-svn-id: http://core.svn.wordpress.org/trunk@34217 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 22:30:23 +00:00
Boone Gorges
48b7547a52
Improve consistency of comment notification callback signatures.
...
Both `wp_new_comment_notify_moderator()` and `wp_new_comment_notify_postauthor()`
now accept a single argument: `$comment_ID`.
Props SergeyBiryukov.
Fixes #33587 .
Built from https://develop.svn.wordpress.org/trunk@34252
git-svn-id: http://core.svn.wordpress.org/trunk@34216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 22:26:24 +00:00
Boone Gorges
f6fb4653eb
Don't notify post authors about spam comments.
...
[34106] moved post author notification to a hook, and in the process, missed
the 'spam' check. This changeset restores that check.
To make unit testing easier, the notification callbacks have been refactored
to return values: false when various conditions aren't met (eg, approved
comments should not trigger moderation emails), and the return value of the
`wp_notify_*()` function otherwise.
Props cfinke, kraftbj.
See #33587 .
Built from https://develop.svn.wordpress.org/trunk@34250
git-svn-id: http://core.svn.wordpress.org/trunk@34214 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 22:00:25 +00:00
Scott Taylor
69e3a390b2
In `_wp_ajax_delete_comment_response()`, read the new `'all'` prop returned by `get_comment_count()` via `wp_count_comments()` when setting `$total`. `'all'` doesn't include `spam` in its count.
...
Updates unit tests.
Props dipesh.kakadiya.
Fixes #32362 .
Built from https://develop.svn.wordpress.org/trunk@34161
git-svn-id: http://core.svn.wordpress.org/trunk@34129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-15 01:47:25 +00:00
Scott Taylor
31c2bfd69d
More bonkers comment cache cleanup: toggle `wp_defer_comment_counting()` in `wp_insert_post()` and `wp_insert_attachment()`. Move the cache deletion in `wp_update_comment_count_now()` to before the `get_post()` call, so that the caches get deleted even if the post has already been deleted and the function returns early.
...
See #33875 .
Built from https://develop.svn.wordpress.org/trunk@34158
git-svn-id: http://core.svn.wordpress.org/trunk@34126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-15 00:58:26 +00:00
Scott Taylor
8479ff90bc
Ensure that the count cache for `all` is in sync with `comment-{$post_id}` values. These are the values most often relied-upon by the list table for comments.
...
Adds unit tests.
See #33875 .
Built from https://develop.svn.wordpress.org/trunk@34136
git-svn-id: http://core.svn.wordpress.org/trunk@34104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 22:39:24 +00:00
Scott Taylor
60367d567d
The "counts" cache for comments by post id is never invalidated. Neither `wp_update_comment_count()` nor `wp_update_comment_count_now()` touch the cache.
...
Adds unit test.
See #33875 .
Built from https://develop.svn.wordpress.org/trunk@34131
git-svn-id: http://core.svn.wordpress.org/trunk@34099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 22:04:26 +00:00
Scott Taylor
7639a89a1f
`wp_unspam_comment()` can accept a full object instead of comment_ID to reduce cache/db lookups..
...
See #33638 .
Built from https://develop.svn.wordpress.org/trunk@34130
git-svn-id: http://core.svn.wordpress.org/trunk@34098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 21:47:25 +00:00
Scott Taylor
b1bc8a6522
More comment functions can accept a full object instead of comment_ID to reduce cache/db lookups.
...
See ##33638.
Built from https://develop.svn.wordpress.org/trunk@34129
git-svn-id: http://core.svn.wordpress.org/trunk@34097 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 21:40:24 +00:00
Boone Gorges
c614849786
Send comment notification emails via a hooked function.
...
Previously, `wp_notify_postauthor()` and `wp_notify_moderator()` were called
directly from `wp_new_comment()`, making it difficult to modify or suppress
default notification emails.
Props dshanske, thomaswm.
See #33587 .
Built from https://develop.svn.wordpress.org/trunk@34106
git-svn-id: http://core.svn.wordpress.org/trunk@34074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:17:26 +00:00
Scott Taylor
71f955dc84
In `WP_Comments_List_Table`, favor passing `WP_Comment` instances instead of `$comment_ID` to template functions. This allows us to bypass unnecessary cache lookups and simply pass the object through when it is set.
...
See #33638 .
Built from https://develop.svn.wordpress.org/trunk@33964
git-svn-id: http://core.svn.wordpress.org/trunk@33933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 03:00:24 +00:00
Scott Taylor
d973339738
After [33891], `get_comment()` returns `global $comment` if no args are passed and the global is set (after setting the default to `null` here). This allows us to ditch global comment imports.
...
See #33638 .
Built from https://develop.svn.wordpress.org/trunk@33963
git-svn-id: http://core.svn.wordpress.org/trunk@33932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 02:51:24 +00:00
Scott Taylor
c1bb5b5ce3
After [33843], update the location of some files in `This filter is documented in` docs
...
Props dimadin.
See #33413 .
Built from https://develop.svn.wordpress.org/trunk@33954
git-svn-id: http://core.svn.wordpress.org/trunk@33923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-08 22:17:26 +00:00
Scott Taylor
00c8fe6b38
Bump the timeout in `trackback()` to 10 seconds (from 4) to match `wp_xmlrpc_server::pingback_ping()` and prevent trackback timeouts.
...
Props gnaka08 for the initial patch.
Fixes #10414 .
Built from https://develop.svn.wordpress.org/trunk@33948
git-svn-id: http://core.svn.wordpress.org/trunk@33917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-08 18:56:25 +00:00
Drew Jaynes
f57d7527e6
Docs: Clarify the file header summary for wp-includes/comment-functions.php, introduced in [33750].
...
See #33413 . See #33701 .
Built from https://develop.svn.wordpress.org/trunk@33899
git-svn-id: http://core.svn.wordpress.org/trunk@33868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-04 01:42:24 +00:00
Scott Taylor
e73ee5ac98
Introduce `WP_Comment` class to model/strongly-type rows from the comments database table. Inclusion of this class is a pre-req for some more general comment cleanup and sanity.
...
* Takes inspiration from `WP_Post` and adds sanity to comment caching.
* Clarifies when the current global value for `$comment` is returned. The current implementation in `get_comment()` introduces side effects and an occasion stale global value for `$comment` when comment caches are cleaned.
* Strongly-types `@param` docs
* This class is marked `final` for now
Props wonderboymusic, nacin.
See #32619 .
Built from https://develop.svn.wordpress.org/trunk@33891
git-svn-id: http://core.svn.wordpress.org/trunk@33860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-03 18:17:24 +00:00
Scott Taylor
6ae78f0fe4
Comments: `wp_count_comments()` can use `get_comment_count()` internally to makes its DB query, provided that `get_comment_count()` returns more properties.
...
Adds/updates unit tests. There were zero (0) unit tests for `wp_count_comments()`.
Fixes #19903 .
Built from https://develop.svn.wordpress.org/trunk@33822
git-svn-id: http://core.svn.wordpress.org/trunk@33790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-31 18:51:22 +00:00
Scott Taylor
107a7104bd
Fix the doc block syntax for the `'wp_get_current_commenter'` filter.
...
Props dimadin.
Fixes #33304 .
Built from https://develop.svn.wordpress.org/trunk@33811
git-svn-id: http://core.svn.wordpress.org/trunk@33779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-30 03:21:20 +00:00
Scott Taylor
e49980bdc1
`get_comment_count()` currently increments `awaiting_moderation` when comments are in the trash. This occurs because `case 0:` will match any value passed to `switch` that is a string that isn't specified in the list of cases. This is terrifying.
...
* Cases for `0` and `1` should be `'1'` and `'0'`
* Add unit tests for `get_comment_count()`. Currently, there are none.
See #33414 .
Built from https://develop.svn.wordpress.org/trunk@33806
git-svn-id: http://core.svn.wordpress.org/trunk@33774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-30 02:19:21 +00:00
Scott Taylor
f07ab12359
Comments: move `WP_Comment_Query` into its own file. `comment.php` loads the new files, so this is 100% BC if someone is loading `comment.php` directly. New files created using `svn cp`.
...
Creates:
`class-wp-comment-query.php`
`comment-functions.php`
`comment.php` contains only top-level code. Class file only contains the class. Functions file only contains functions.
See #33413 .
Built from https://develop.svn.wordpress.org/trunk@33750
git-svn-id: http://core.svn.wordpress.org/trunk@33718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-26 04:27:21 +00:00
ryan
6027cfa946
Reorg comment functions. #2525
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-04-19 02:32:12 +00:00
ryan
d650991531
Move clean_url() to functions-formatting.php. #2525
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-04-18 04:58:38 +00:00
ryan
31cb659651
Filter comments when updating. Props mdawaffe.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-03-29 20:41:13 +00:00
ryan
25c2dcac3c
More comment cookie sanitation.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-02-28 09:49:06 +00:00
ryan
5322fc2faa
current user cleanup
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-02-22 19:08:55 +00:00
ryan
34398e5a2e
Make sure user_id is set before inserting. Props bungeman. fixes #2459
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3537 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-02-17 01:00:18 +00:00
ryan
60d01b1f96
Use post_type not post_status.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3535 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-02-15 07:16:58 +00:00
ryan
dd202ce1f9
Death to trailing tabs. Props Mark J. fixes #2405
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3517 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-02-12 07:53:23 +00:00
ryan
d96ba966cd
Use ->comments instead of . fixes #2294
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-01-16 20:03:56 +00:00
ryan
ba29615e7e
Trigger pre_ping action outside of loop. Props Mark Jaquith. fixes #2269
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3427 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-01-11 21:35:36 +00:00
ryan
ee8b3c94df
i18n fixes from SteveAgl. fixes #2207
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2006-01-02 21:08:34 +00:00
ryan
00e695e6f5
LJ tweaks.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3375 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-12-29 01:25:41 +00:00
ryan
2d9779beba
Make sure comment_parent is set.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-12-20 04:28:32 +00:00
ryan
97cd7143da
New asyncronous ping method. fixes #2048
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3317 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-12-16 03:04:33 +00:00
ryan
9d4c41b823
i18n fix from pandem. fixes #2028
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3272 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-12-05 16:58:26 +00:00
ryan
9dc3881715
Decrease comment count only when deleting approved comments.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3271 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-12-05 05:31:27 +00:00
ryan
24e2307445
Instead of incrementing the current comment count, recount all comments to make sure we have a good count. Props Mark Jaquith. fixes #1920
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3193 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-22 03:45:40 +00:00
ryan
f4f22fce81
Attachment cleanups from skeltoac. fixes #1870
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3145 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-18 09:25:47 +00:00
ryan
a370a5d002
i18n fix from nbachiyski. fixes #1874
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-17 03:01:55 +00:00
ryan
a41c4a693f
Add missing space to fix validation. Props seth. fixes #1887
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3118 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-16 23:59:29 +00:00
ryan
5fdc8b56da
Add some comment API and update comment popup templates to use them. Props David Hose. fixes #1892
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3115 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-16 23:48:12 +00:00
ryan
25b644e8ce
Add comment_count to the posts table. Props donncha. fixes #1860
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-16 06:29:36 +00:00
matt
682ad94a9f
Follow standards in Pingback - fixes #1668
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3078 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-14 10:08:12 +00:00
matt
1301fdf266
More accessible comment links
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-14 03:06:52 +00:00
matt
9187979859
Moderation and comment_author_link, fixes #1019
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-13 02:45:53 +00:00
matt
f67be7f30f
Don't notify your own comments, fixes #1670
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@3031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-10 23:31:58 +00:00
matt
cdd3a0a295
Allow "anonymous" to be translated, fixes #1740
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@2986 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2005-11-05 22:53:40 +00:00