The answer was an admin filter on post_link which was building a custom permalink and returning false in some edge-cases, which caused the edit button to be hidden.
Related Posts:
- How to filter to output of the get_permalink() function
- WP JSON list all permalinks
- Filtering comment permalinks when a condition is met
- Menu Link Redirect Based on Username or User ID
- How to get this JavaScript working with get_permalink
- Remove the Parent category from the permalink but leave the child category
- How to hook into permalink when publishing-saving post?
- Multilanguage URLs
- Automatically append ID to at the end of specific URLs
- How to change the permalink option to post name on theme activation?
- Changing post content on save, using updated fields
- Change in permalink structure made javascript cookie not work correctly
- is there a way to add the post URL to the results of fselect facet in Facetwp plugin?
- Process all virtual sub pages on parent page
- Permalink slug no longer editable when using post_type_link filter
- WordPress Permalink feature alternative
- Inserting a string in the middle of page’s permalink?
- how to get permalink
- Access or edit custom generated permalinks with WP_Rewrite
- Custom child page permalink
- Gutenberg Editor: dynamically edit slug field based on ACF field
- Remove character from permalink
- Edit the output of a filter
- Fire a code when permalinks updated
- I can get the permalink or the excerpt to work correctly, but not both
- Search and replace post URL’s on page output?
- Custom Permalinks and filters?
- Once redirected by Rewrite rules, how can WordPress know the page?
- How to update permalink on the fly?
- Getting the terms from “Beautiful Taxonomy Filters” Results ot Integrate into “Ajax Load More”
- Can you customize the automatic permalink population on new posts?
- Rewrite permalink with PHP processing
- Is there a way to auto-link to products when writing a post?
- How do I disable the changing of the permalink for published posts (for non-admin)?
- Is it possible to get a page link from its slug?
- Need help with add_rewrite_rule
- After server migration only the homepage works
- How to add defer=”defer” tag in plugin javascripts?
- remove “index.php” from permalinks
- where is permalink info stored in database?
- Changing permalinks gives me 404 errors on nginx
- How do I add /blog/ as a prefix to permalink structure for blog posts, tag pages, etc.?
- Change media item permalink
- remove custom post type permalink
- Get Permalink without domain (i.e. get relative permalink) [duplicate]
- How does WordPress create URLs that Apache knows about?
- Strange permalink issue: can’t rename /company-2/ to /company/
- Passing and retrieving query vars in wordpress
- Get the current page URL (including pagination)
- Stop WordPress appending `-2` to the end of my url after i change it
- Get default permalink structure from pretty URL’s
- How to get permalink and title from post ID?
- Why is “/page/2/” not working?
- WordPress Permalinks not working in Apache2 Ubuntu 14.04
- Performance of my permalink structure?
- How to add a custom CSS class to core blocks in Gutenberg editor?
- Permalink format: singular or plural
- What is the difference between get_post_permalink and get_permalink?
- WordPress matching URLs with trailing tildes
- Get current URL (permalink) without /page/{pagenum}/
- How does WordPress handle permalinks?
- Pretty permalinks for search results with extra query var
- Get page permalink without wpurl
- How can I get the privacy policy page?
- Can I use REST-API on plain permalink format?
- WordPress slug issue with non-latin characters
- Rewrite Rule for Multilingual Website, Like qTranslate?
- How to get pretty URLs with add_query_arg in permalinks
- What is the best permalink structure for SEO?
- Why is javascript allowed in my post content?
- Change author permalink
- Creating custom permalink structure for languages
- Hide permalink and preview button and link on custom post
- Custom post type permalink endpoint
- How can I make Capital letter ( upper-case ) permalinks?
- How can I reverse engineer a Permalink to Find the Page?
- Mapping Domains to Permalinks (not multisite)
- How to remove dates from existing permalinks?
- How do I set a custom base URL for standard posts?
- Removing Parent Page(s) from Permalink
- How to pass/get data to/from the WooCommerce data-product_variations object?
- Why permalinks work with /index.php/%postname% but not with just %postname%?
- Setting up WordPress with Custom Permalinks and no .htaccess File?
- Getting the Site URL Including the Front Base
- Does WordPress Change the .htaccess File When Updating?
- Using $_GET variables in the URL?
- Removing the redirect after changing a page’s slug
- How to display a public profile page for registered users with custom slug?
- Removing leading zeros from custom permalink structure
- Must slugs be unique?
- Setting 404 page in Nginx
- How to get the clean permalink in a draft?
- How to use relative links on my pages?
- How does wordpress keep track of post id when post id is not used in permalinks?
- Stop WordPress from reserving slugs for media items?
- Including category-base in a post permalink results in 404
- How to change ‘with_front” key from an existing custom post type?
- Change slug on post creation
- Does WordPress automatically do 301 redirect if I change permalink
- How can I store page ID in a post instead of other selected permalink?