All Projects → scribu → Wp Posts To Posts

scribu / Wp Posts To Posts

Efficient many-to-many connections between posts, pages, custom post types, users.

Labels

Projects that are alternatives of or similar to Wp Posts To Posts

Xattacker
X Attacker Tool ☣ Website Vulnerability Scanner & Auto Exploiter
Stars: ✭ 897 (-3.86%)
Mutual labels:  wordpress
Pdpa Consent
WordPress plugin for PDPA Consent allows you to notify to the user to accept privacy terms. Comply with Thailand PDPA law.
Stars: ✭ 23 (-97.53%)
Mutual labels:  wordpress
Wordprismic
Utility to import existing Wordpress blogs into the Prismic.io content platform
Stars: ✭ 25 (-97.32%)
Mutual labels:  wordpress
Ng Wordpress Theme
Angular starter theme for WordPress
Stars: ✭ 18 (-98.07%)
Mutual labels:  wordpress
Ddev
DDEV-Local: a local PHP development environment system
Stars: ✭ 915 (-1.93%)
Mutual labels:  wordpress
Wordpressplugin
Rocket.Chat.Livechat plug-in for WordPress
Stars: ✭ 23 (-97.53%)
Mutual labels:  wordpress
Woocommerce Loadimpact
Scenarios for `loadimpact.com`, written against Liquid Web's WooCommerce sample data.
Stars: ✭ 17 (-98.18%)
Mutual labels:  wordpress
Genesis Simple Hook Guide
WordPress plugin that displays names of all Genesis hooks on the current page dynamically.
Stars: ✭ 25 (-97.32%)
Mutual labels:  wordpress
Press Sync
The easiest way to synchronize posts, media, users and more between two WordPress sites.
Stars: ✭ 22 (-97.64%)
Mutual labels:  wordpress
Space Lover
Git-ified. Synced via git-svn. Magically add an extra space between Chinese characters and English letters / numbers / common punctuation marks
Stars: ✭ 24 (-97.43%)
Mutual labels:  wordpress
Raccoon Plugin
With Raccoon, use a JSON or YAML file to manage WordPress theme features
Stars: ✭ 18 (-98.07%)
Mutual labels:  wordpress
Wp Vuejs
WordPress VueJS Starter Theme
Stars: ✭ 19 (-97.96%)
Mutual labels:  wordpress
Wp Multitenancy Boilerplate
WordPress multitenancy boilerplate configured and managed with Composer and PHP dotenv.
Stars: ✭ 24 (-97.43%)
Mutual labels:  wordpress
Wordpress Theme Framework
Lightweight MVC theming framework for developers who want to better organize their own custom themes with an MVC approach.
Stars: ✭ 18 (-98.07%)
Mutual labels:  wordpress
Cyr2lat
Converts Cyrillic characters in post, page and term slugs to Latin characters. Useful for creating human-readable URLs.
Stars: ✭ 25 (-97.32%)
Mutual labels:  wordpress
Gantry5
🚀 Next Generation Template / Theme Framework
Stars: ✭ 895 (-4.07%)
Mutual labels:  wordpress
Dashboard Cleanup
Cleans up the WP Admin backend by disabling various core WP and WC bloat features including Automattic spam, nag notices, tracking, and other items.
Stars: ✭ 23 (-97.53%)
Mutual labels:  wordpress
Wp Controllers
The OOP Developer's best friend for working with objects in WordPress
Stars: ✭ 25 (-97.32%)
Mutual labels:  wordpress
Maps Block Apple
An Apple Maps block for the WordPress block editor (Gutenberg).
Stars: ✭ 25 (-97.32%)
Mutual labels:  wordpress
Mcavoy
Discover what visitors are searching for on your WordPress site.
Stars: ✭ 24 (-97.43%)
Mutual labels:  wordpress

Posts 2 Posts

Contributors: scribu, ciobi
Tags: connections, custom post types, relationships, many-to-many, users
Requires at least: 3.9
Tested up to: 4.3
Stable tag: 1.6.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Efficient many-to-many connections between posts, pages, custom post types, users.

Description

This plugin allows you to create many-to-many relationships between posts of any type: post, page, custom etc. A few example use cases:

  • manually curated lists of related posts
  • post series
  • products connected to retailers
  • etc.

Additionally, you can create many-to-many relationships between posts and users. So, you could also implement:

  • favorite posts of users
  • multiple authors per post
  • etc.

Support & Maintenance

I, scribu, will not be offering support (either free or paid) for this plugin anymore.

Furthermore, I will not be doing any development work whatsoever.

If you want to fix a bug in the plugin or add new features, feel free to fork it on github. I will not be accepting any pull requests though, since ensuring that a code change doesn't break things takes effort, effort which I'm no longer willing to expend.

Links: Documentation | Plugin News | Author's Site

Installation

See Installing Plugins.

After activating it, refer to the Basic usage tutorial.

Additional info can be found on the wiki.

Frequently Asked Questions

The waiting icon keeps spinning forever.

Check for JavaScript errors. If it's an AJAX request, check its output.

Screenshots

  1. Basic connection metabox
  2. Advanced connection metabox
  3. Admin column
  4. Widget
  5. Connection Types screen

Changelog

1.6.5

  • fixed error when Mustache is already loaded. props ApatheticG
  • fixed WP_User_Query warning. props PatelUtkarsh
  • added Chinese translation. props iwillhappy1314

1.6.4

  • added Danish translation. props phh
  • updated Swedish translation. props EyesX
  • fixed issue with multiple parse_query calls. props hezachenary
  • added p2p_post_admin_column_link and p2p_user_admin_column_link filters. props PareshRadadiya

1.6.3

  • added Serbian translation. props Borisa Djuraskovic
  • fixed spinner in admin box. props yamablam
  • fixed JavaScript error related to Backbone. props ericandrewlewis
  • made 'p2p_connected_title' filter work for users too. props MZAWeb
  • added support for 'dropdown_title' labels. props GaryJones
  • made get_related() consider all connected items

1.6.2

  • fixed URL query handling. props ntns
  • store WP_Error instance instead of calling trigger_error(). props MZAWeb
  • fixed warning when used with Multilingual Press. props dimadin
  • introduced p2p_connected_title filter. props petitphp

1.6.1

  • fixed user column handling. props versusbassz
  • fixed PHP strict standards warnings. props meloniq
  • added Estonian translation. props RistoNiinemets
  • added Finnish translation. props danielck

1.6

  • introduced p2p_candidate_title filter
  • introduced JavaScript API
  • added Japanese translation
  • various refactorings

1.5.2

  • fixed get_prev() and get_next()
  • introduced get_adjacent_items()
  • fixed admin column titles
  • made admin column titles show up before the post date. props luk3thomas
  • added 'help' key to 'from_labels' and 'to_labels' arrays. props tareq1988

1.5.1

  • fix fatal error on activation. props benmay

1.5

  • added admin dropdowns
  • fixed SQL error related to user connections
  • fixed 'labels' handling and added 'column_title' subkey
  • refactor metabox JavaScript using Backbone.js
  • lazy-load connection candidates, for faster page loads
  • lazy-load PHP classes using spl_register_autoload()

1.4.3

  • various bug fixes
  • added 'inline' mode for shortcodes
  • replaced 'trash' icon with 'minus' icon
  • pass direction to 'default_cb'

1.4.2

  • fixed each_connected() returning wrapped objects
  • fixed issue with user queries and get_current_screen()
  • fixed "Delete all connections" button
  • fixed bugs with reciprocal and non-reciprocal indeterminate connection types
  • added Dutch translation

1.4.1

  • fixed errors in admin box
  • fixed each_connected()

1.4

  • added 'p2p_init' hook
  • replaced 'View All' button with '+ Create connections' toggle
  • improved usability of connection candidate UI
  • fixed issues related to auto-drafts
  • show columns on the admin user list screen
  • more info

1.3.1

  • sanitize connection fields values on save, preventing security exploits
  • improved connection field default value handling
  • added 'default_cb' as an optional key when defining connection fields
  • fixed parameter order for 'p2p_admin_box_show' filter
  • pass the current post ID to the 'p2p_new_post_args' filter

1.3

  • allow passing entire objects to get_connected(), connect() etc.
  • made get_related() work with posts-to-users connections
  • made each_connected() work with simple array of posts
  • introduced [p2p_connected] and [p2p_related] shortcodes
  • allow 'default' parameter in 'fields' array
  • more info

1.2

  • added Tools -> Connection Types admin screen
  • fixed migration script
  • made p2p_get_connections() accept arrays of ids
  • added 'separator' parameter to p2p_list_posts()
  • made P2P_Directed_Type->connect() return WP_Error instances instead of just false
  • when a user is deleted, delete all the associated connections
  • fixed conflict with bbPress Topics for Posts plugin
  • more info

1.1.6

  • convert "View All" tab into button
  • refresh candidate list after deleting a connection
  • fix cardinality check
  • introduce 'p2p_connection_type_args' filter
  • make 'connected_type' accept an array of connection type names
  • inadvertently remove support for queries without 'connected_type' parameter

1.1.5

  • added P2P_Connection_Type->replace() method
  • added 'self_connections' flag to p2p_register_connection_type()
  • made P2P_Connection_Type->each_connected() work for posts-to-users connections
  • made admin list table columns work for posts-to-users connections
  • fixed 'from_labels' and 'to_labels' parameters
  • fixed search being limited only to post titles

1.1.4

  • show attachment thumbnail instead of title
  • merged 'from_object' into 'from' and 'to_object' into 'to'
  • made posts-to-users queries respect 'to_query_vars' args
  • added $prop_name parameter to P2P_Type::each_connected()
  • fixed connection field name conflict

1.1.3

  • fixed regression related to posts-to-users direction
  • fixed admin columns overwriting each other
  • fixed incorrect direction in admin column links
  • added notices when connection type is not properly defined

1.1.2

  • fixed fields not being saved for posts-to-users connections
  • fixed missing "New Post" tab in admin box
  • fixed notice when deleting post

1.1.1

  • fixed faulty scbFramework loading
  • simplified syntax for defining posts-to-users connection types

1.1

  • add p2p_type column to the wp_p2p table
  • new low-level api: p2p_create_connection(), p2p_get_connections(), p2p_delete_connections(), p2p_connection_exists()
  • support posts-to-users and users-to-posts connection types in the admin
  • add 'from_labels' and 'to_labels' args to p2p_register_connection_type()
  • more info

1.0.1

  • don't show metabox at all if user doesn't have the required capability
  • fix checkbox handling when there are no other input fields
  • improve metabox styling
  • rename 'show_ui' to 'admin_box'
  • add 'admin_column' parameter

1.0

  • widget can now list related posts
  • add P2P_Connection_Type::get_related() method
  • add 'can_create_post' arg to p2p_register_connection_type()
  • two-box mode for 'reciprocal' => false
  • more options for 'show_ui'
  • allow checkboxes, radio buttons and textareas as connection fields
  • allow drag & drop ordering in both directions
  • added get_previous(), get_next() and get_adjacent() methods to P2P_Connection_Type
  • more info

0.9.5

  • add '{from|to}_query_vars' args to p2p_register_connection_type()
  • add 'cardinality' arg to p2p_register_connection_type()
  • add 'id' arg and p2p_type() function
  • introduce p2p_split_posts()
  • remove p2p_connect(), p2p_disconnect() and p2p_get_connected()
  • more info

0.9.2

  • fix incorrect storage when creating a connection from the other end
  • respect 'reciprocal' => false when 'from' == 'to'
  • pass pagination numbers through number_format_i18n()

0.9.1

  • fix bug with each_connected()
  • add widget
  • allow 'from' and 'to' to be arrays again
  • improve RTL support

0.9

  • introduce dropdown connection fields
  • introduce 'sortable' arg to p2p_register_connection_type()
  • introduce 'data' arg to p2p_register_connection_type()
  • replace 'box' arg with hooks
  • replace p2p_each_connected() with P2P_Post_Type->each_connected()
  • allow using 'connected_meta' and 'connected_orderby' together
  • fix some translations
  • more info

0.8

  • added ability to create draft posts from the connection box. props Oren Kolker
  • show post status in the connection box. props Michael Fields
  • reduced number of queries by caching connection information
  • revamped p2p_each_connected()
  • introduced p2p_list_posts()
  • introduced 'connected_orderby', 'connected_order' and 'connected_order_num' query vars
  • more info

0.7

  • improved UI. props Alex Ciobica
  • added 'fields', 'context' and 'prevent_duplicates' args to p2p_register_connection_type()
  • more info

0.6

  • added p2p_each_connected()
  • fixed p2p_is_connected()
  • made p2p_get_connected() return p2p_ids even with $direction = 'any'
  • made compatible with Proper Network Activation
  • more info

0.5.1

  • fixed fatal error on Menus screen

0.5

  • added 'connected_meta' var to WP_Query
  • attach p2p_id to each post found via WP_Query
  • 'connected_to' => 'any' etc.
  • $data parameter can also be a meta_query
  • metabox bugfixes
  • fixed l10n loading
  • more info

0.4

  • introduced 'connected_from', 'connected_to', 'connected' vars to WP_Query
  • replaced $reciprocal with $data as the third argument
  • p2p_register_connection_type() accepts an associative array as arguments
  • removed p2p_list_connected()
  • added p2p_delete_connection()
  • more info

0.3

  • store connections using a taxonomy instead of postmeta
  • more info

0.2

  • UI that supports multiple related posts. props Patrik Bón
  • added p2p_list_connected() template tag
  • more info

0.1

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].