Custom Sort Order for Custom Post Type Taxonomy

Use usort with a custom callback, like this: function compare_term_order_numbers( \WP_Term $a, \WP_Term $b ) : int { $order_number_a = get_field( ‘order_number’, $a ); $order_number_b = get_field( ‘order_number’, $b ); return strcmp( $order_number_a, $order_number_b ); } usort($terms, ‘compare_terms’ ); Note that this assumes get_field returns a plain string, not an object, that each term has … Read more

How can I produce multiple webpages with a different output based on one entry/Page/custom Page?

Query string parameters are a helpful friend in this situation. It will allow you to keep the same single-$posttype.php file for both formats of the page. So if someone visits your page using the URL: https://yourwebsite.com/events They will see your normal webpage for visitors. But if someone uses the URL: https://yourwebsite.com/events?seminar=true They will see something … Read more

Is it possible to use a post name in a custom post slug?

Rewrite is a global base for all posts under the custom post type. For example, this is the default CPT rewrite structure: example.com/lesson/%postname% In your code example, it’s implying you are trying to do: example.com/%postname%-lesson/%postname% Two issues with this idea. The first issue, assuming this functionality worked, is that your CPT urls would all be … Read more

What is the best way to relate different custom post types?

I think a better approach for this would be to create a single nested (hierarchical) custom post type. For example, it can be series. Then a single series named sample-series as a top level post of series post type: site.com/series/sample-series/. Then seasons named season-one, season-two etc. can be children of sample-series, like: site.com/series/sample-series/season-one, site.com/series/sample-series/season-two. Similarly, … Read more