How to clear capabilities cache?

That added the Settings menu at the left for a logged in Author. Because the author role now has the required capabilities. Then I removed the second line above and the Settings menu remains! That’s because role data is stored in dedicated tables the same way as user meta and posts. It’s not like post … Read more

Custom page template from plugin does not work with pre-installed themes in WordPress 6.6.1

Newer themes including Twenty Twenty Four use block themes/Full Site Editing. This means all the templates are created with HTML and theme.json, not using PHP templates at all anymore. You can read up on bloc themes, and see ways to create a “hybrid theme” which uses both PHP and HTML, here – https://fullsiteediting.com/courses/full-site-editing-for-theme-developers/

Load specific CSS file

/** * Enqueue a script or stylesheet in the WordPress admin on edit.php. * * @param string $hook_suffix Hook suffix for the current admin page. */ function wpse426722_admin_enqueue( $hook_suffix ) { if( ‘admin_print_scripts-profile’ == $hook_suffix ) { wp_enqueue_style( ‘your-stylesheet-slug’, ‘/path/to/your_stylesheet.css’ ); } } add_action( ‘admin_enqueue_scripts’, ‘wpse426722_admin_enqueue’ ); The above function has the hook suffix for … Read more

Function wpdb::prepare was called incorrectly. The query argument of wpdb::prepare() must have a placeholder

There are 2 places that could have issues: Your first wpdb::prepare() here: // Prepare and execute the count query $count_query = $wpdb->prepare( $count_sql, …$query_params ); The initial value you set for $count_sql is “SELECT COUNT(*) FROM $table_name WHERE 1=1”, and if $filters doesn’t have any key matching your switch, the value of $count_sql will remain … Read more

How to add custom field to top of WordPress Comment Form for both logged in and anon users

I think you could use the comment_form_field_comment() filter to add the custom HTML before the main comment field. The filter is fired for both visitors and loggedin users. add_filter( ‘comment_form_field_comment’, ‘wpse_426971_comment_form_field_before’ ); function wpse_426971_comment_form_field_before( string $field ): string { return sprintf( ‘<p>%s</p>%s’, is_user_logged_in() ? “I’m logged in” : “I’m not logged in”, $field ); } … Read more