[wp-hackers] Like Posts - Store Data in DB, User_Meta or Post_Meta

Otto otto at ottodestruct.com
Mon Nov 11 18:43:38 UTC 2013


We implement plugin favorites on WordPress.org in a similar manner.

The plugin directory is a bbPress installation, so plugin entries are
"topics". When a user favorites a plugin, the ID of that topic is saved to
their usermeta, and the ID of that user is saved to the topicmeta.

The question is one of querying. We want to be able to show a user's
favorite plugins (so, get the usermeta, then get those topics), and we
potentially want to be able to show what users favorited a plugin as well
(so, get the topicmeta, then show those users). While we're not actually
doing the latter at the moment, it's a potential case, so there it is.
Reviews are even more complex, since they integrate three things: users, a
plugin or theme, and a post in the support forums.

The problem you'll run into is one of making sure the data is synced across
the two. What happens when your process craps out after adding the
usermeta, but before adding the postmeta? This isn't a problem on a small
scale, but when you build to large scale, it will happen eventually.

In the long run, I think that we'll end up using a custom table for this,
in order to keep everything in a single location and to be able to query by
either case. Meta isn't a great fit for connecting two entirely disparate
sets of data together with a many-to-many relationship. There really is no
proper many-to-many metaphor in WordPress, as such. You can do it with
taxonomy, but that way lies madness. ;)

-Otto


-Otto


On Mon, Nov 11, 2013 at 12:16 PM, chriscct7 <hello at chriscct7.com> wrote:

> Sounds like the best thing would be to store it in both places. Saves two
> potentially expensive query's as your site scales up.
>
> -Chris
>
>
>
> --
> View this message in context:
> http://wordpress-hackers.1065353.n5.nabble.com/Like-Posts-Store-Data-in-DB-User-Meta-or-Post-Meta-tp42769p42772.html
> Sent from the Wordpress Hackers mailing list archive at Nabble.com.
> _______________________________________________
> 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