The map_meta_cap function handles context arguments generically – you can give it anything and it’ll happily pass it down the chain. It’s only particular capabilities like edit_post that expect the argument to be an integer, but even then it’s up to the caller to pass an appropriate value.
Here’s where you get your string/integer mashups – usually the caller will pass the ID straight from a WP_Post object, but it could be from anywhere – another database call, another object that has a reference to a post ID, hardcoded etc. In other words, lots of opportunities for a string to slip through.
You can try a debug_backtrace on your tests to find the culprits, but there are more important things in life to get on with – stick to your int type-casting and carry on coding 😉
Related Posts:
- Which hook should be used to add an action containing a redirect?
- Add a new tab to WordPress Plugin install Listing
- Changing Plugin Load Order
- How should you hook a session_start() when authoring a plugin?
- Init action hook running late after PayPal’s return url?
- Is there widely accepted phpDoc syntax for documenting which hook calls a function?
- How Do I Load My Action Earlier Enough?
- What’s the earliest point I can get the queried object ID?
- How do I Make a Theme “plugin-ready”?
- WordPress scheduled task is called but not executed
- How to modify post content before writing to database?
- I can’t find where a hook is being defined in a plugin – Easy Digital Downloads
- How do I handle multiple Submit buttons in plugin’s option page?
- How to use filter hook ‘post_updated_messages’ in coherence with action hook ‘save_post’
- Plugin development, hooks, generate content
- Is it possible to create an action hook using do_action() within add_action()?
- Hook for post permalink update
- Dynamically Override Fancy Title
- Hook event for upload image in the menu
- Help with callback using do_action_ref_array
- Create a plugin to change the action to which a function is hooked
- Adding Automatically To In WordPress Using Filter Referencing?
- comment_email hook doesn’t seem to work for comment editor field
- Best Practices for Creating and Handling Forms with Plugins?
- Is there a better way to implement responsive images than what WordPress uses by default?
- Woocommerce – Hide a Column in Cart Table
- Add tab to profile.php wordpress plugin development
- How do I change the initial quantity of a product in woocommerce?
- Where and how does WordPress store and use its plugin and hook information?
- Which are the hooks run before/after when a category’s deletion?
- Why is my javascript not invoked in my hooks except wp_head?
- edit_{$taxonomy} | Hook
- WordPress after content Hook & external template part
- Namespaced action and filter tags
- What filter should I use to insert a button inside on Media>Add New
- .mo translation strings not loading in PHP scripts that handle AJAX calls
- External Authentication, session_tokens not destroyed on logout
- Where to add hooks in a class
- Trying to understand order and frequency of action hooks firing
- How to use output buffering in WordPress hooked functions?
- Adding option to Gallery shortcode
- do_action and add_action on two different installed plugins won’t work
- template_redirect or admin-ajax.php?
- WordPress custom taxonomy check box to dropdown
- I have 2 plugins using the same wp_login action hook and one is not working
- use of do_action() without any functions attached
- How dynamic action login_form_{action} is working
- What action hook can I use to add a JavaScript to a page post using a theme template that is not including get_header() nor get_footer()?
- How to get all queries’s results after they have executed?
- Plugin uninstall function is not working
- How can I create a custom plugin that allows anonymous users to signup without registering?
- hook filter after the_content on a specific page
- Bind a function with its own argument to show something dynamically after every content
- What’s the hook for filtering every texts of site?
- Hook add_attachment error
- Associate multiple email addresses with the same user account, so they can log in with either
- Run command “composer install” when activating wordpress plugin
- Update variable value via add_filter
- Custom filter not working
- hook update_option/updated_option empty $old_value and $value
- Configure WordPress to Generate Scheme-less Relative URLs
- How to find list of all functions bind to a particular hook from my plugin?
- Ajax +wordpress onClick link redirect to new page and create html content
- How to replace settings in WordPress plugin from a theme
- Creating posts with links from a txt file
- Action / Hook when a new plugin is added
- apply_filters() and call_user_func() to define and call a function outside a class
- Getting Post ID at “stylesheet” and “template” hooks
- Limit get_next_post to posts from the same author
- Any way, hook to add content right before the “read more” link?
- Is there any way to get post meta from publish_post hook?
- How do I ensure I can loop through every enqueued script and CSS?
- Problem in plugin debuging in wordpress
- WordPress Plugin Boilerplate – add actions and/or filters based on user’s role
- OOP development and hooks
- Plugin Development – Call to undefined function comment_exists()
- Add_action not calling callback function
- Prevent plugin activation and add admin notice
- how to retrieve post_id under woocommerce_add_to_cart_validation hook?
- add_option_{$option} action hook not being called
- Function not working on any file other than the main plugin file
- Does WordPress have something like timer hook?
- Multi hook deploiement
- Can I use a hook other than ‘init’ to handle form submissions?
- Template file structure , wordpress hook for altering the template
- woocommerce single product page hook not working
- How can I set a dynamic value for post_updated_messages based on return value of post_updated?
- What is the use of wp_schedule_event hook?
- How do I replace title with my plugin?
- Looking for Hook that is fired after a plugin or wp upgrade is installed/updated
- Woocommerce: block user removing cart item
- Insert plugin html content to a specific spot in the frontpage
- How can I get a plugin to hook ‘dbdelta_queries’ — a filter used during version update?
- Send retrieve password notification email with custom HTML email template
- get_term_by() returning null on plugin
- Ninja Forms: Front-End Forms, Post ID?
- Execute callback after REST API request completes + Response is sent
- How to customize password reset message page on success if no error in password reset
- Is there a hook for updated image metadata upon using image editor?
- how to execute a function only when i send an order to trash [closed]