Disclaimer: I can't post more than two links, yet...
I know there are many similar questions, but none of the solutions work for me.
My problem is that with the Live Composer Plugin (wordpress.org/plugins/live-composer-page-builder/) the
url_to_postid() function does not return a post id for Live Composer's custom post types, e. g. "Partners", "Project", "Staff". The URL of the permalink for a project named "Testproject" by default has the form
http://localhost/wordpress/?dslc_projects=testproject. This does not get resolved by
url_to_postid() into a valid post ID.
The workaround is to set the permalink structure to something other than the default "plain" setting. Then
url_to_postid() in fact does correctly resolve even LC's custom post types.
However I do not trust the user to remember this workaround. Heck, I don't even trust myself. Hence, I'd like to know, if there is a way to resolve the type of URL above.
I'm new to WordPress, therefore I have not yet messed around with the database directly, have not implemented custom taxonomies and have not provided custom rewrite rules. I don't even know, what the type of URL like
http://localhost/wordpress/?dslc_projects=testproject is called, although it seems to me to provoke a query in the database to match the
dslc_projects attribute to
I'd love to know if this type of URL has a name, so I can google it and learn about it. Also, if someone knows how to get the post ID using those URLs that would be even awesomer. :)
Edit: I've now probably found a little bug in
url_to_postid(). The functions returns when it hits the following if-clause :
// Check to see if we are using rewrite rules $rewrite = $wp_rewrite->wp_rewrite_rules(); // Not using rewrite rules, and 'p=N' and 'page_id=N' methods failed, so we're out of options if ( empty($rewrite) ) return 0;
I assume this is a bug, since apparently there can be rewrite rules on custom post type URLs, which should be detected here.
It is reported as ticket #38041.