[wp-hackers] Separate Comments of Custom Post Type

Charles Frees-Melvin charles at cefm.ca
Sat Aug 7 18:54:08 UTC 2010


Speaking off the top of my head not looking at the code, but with posts you can assign a post_status. With comments there are approved, moderation, trash and spam comment statuses. What if you were to create a post_type_approved and _moderation etc. Wordpress in theory would make editing pages for you that you can hook into for you.

--
Charles E. Frees-Melvin
charles at cefm.ca
www.cefm.ca
506-640-1007

Sent from my iPhone 3G

On 2010-08-07, at 15:30, Paul <paul at codehooligans.com> wrote:

> The following is just my opinion on a solution and may not be considered the best method at the time for adding your own comments menu option. I'm using a plane vanilla WP 3.0.1 setup. I have a custom post type 'products' registered. 
> 
> From what I can see this is easy or hard depending on your level of coding ability. 
> 
> Let's start with the first task. I'm going to use a project I'm currently working on as an example. In my project I've created a new post type 'product'. This is a simple eCommerce site. When you register a post type WP provides the default shell left nav section on wp-admin. This is the normal list products and add new products options. In order to add a new menu item to your custom post type section you need to hook into the 'admin_menu' action like the following
> 
> add_action( 'admin_menu', array(&$this,'add_product_subnav'));
> function add_product_subnav()
> {
>    add_submenu_page( 'edit.php?post_type=product', 'Comments', 'Comments', 'manage_options', 
>            'product_comments_menu', array(&$this, 'product_comments_menu') );        
> }
> 
> function product_comments_menu()
> {
>    // Add code here to display the comments for your post type. 
> }
> 
> Note the first argument of the add_submenu_page function. This post_type must match your new registered post type. For the add action I added this to the very bottom of my init function just after the call to register_post_type().
> 
> So at this point you have a new nav item on your post type menu. The nav item when clicked will call 'product_comments_menu function'. Here is where things get sort of ugly. As far as I can tell there is no easy way to filter the comments by post_type. For example I would expect there to be some method to filter the WHERE clause of the comments query. Nothing. Take a look at the /wp-admin/edit-comments.php code. you will basically want to copy most of this code into your version of 'product_comments_menu' function. 
> 
> In edit-comments.php around line 274 you will see the call to '_wp_get_comment_list'. This is where the list of comments is pulled in. I would add a foreach loop just after this and remove any items not matching your post type. Since the comment item structure contains the post_type value this should be pretty simple. Something like:
> 
> foreach($_comments as $idx => $comment)
> {
>    if ($comment=>post_type != "YOUR POST TYPE")
>        unset($comments[$idx];
> }
> 
> After the foreach $_comments should be just your post type comments. Again copy from the edit-comments.php code lines 386-411 to display the table. This should get your started though have not gone as far as editing a comment to see if things work correctly. 
> 
> Good luck. 
> 
> P-
> 
> 
> 
> 
> 
>> On 7 August 2010 12:32, Baki Goxhaj <banago at gmail.com> wrote:
>> 
>>> Hi Fellow Hackers,
>>> 
>>> I'm trying to have a custom post type that will have comments, but I want
>>> those comments to be separate form default comments and accessed through
>>> another menu item. Is that possible? if yes, is there something I can look
>>> at?
>>> 
>>> Kindly,
>>> 
>>> Baki Goxhaj
>>> www.wplancer.com | www.banago.info | www.lintuts.com
>>> 
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
> 
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers


More information about the wp-hackers mailing list