What are the proper permissions for production use of wp cli

In *nix environments, the permissions and privileges of a running executable are determined by the user who executes the program. You’ve verified this by noticing that when you run wp-cli with sudo, what it can do changes – you didn’t need to change the permissions on the executable to do this, you ran the program … Read more

Display image title and caption on posts and pages

you are trying to get the image title using get_the_title($image_id), but $image_id is not defined in your function. Instead, you should use the id attribute provided in the shortcode attributes. add_filter( ‘img_caption_shortcode’, ‘my_img_caption_shortcode’, 10, 3 ); function my_img_caption_shortcode( $output, $attr, $content ) { $attr = shortcode_atts( array( ‘id’ => ”, ‘align’ => ‘alignnone’, ‘width’ => … Read more

Can’t assign menu parent id or menu item breaks

Update Solution was easy I’m stupid I just tweaked the menu creation and directly assigned the parent-menu-id: if (!empty($term->parent) && $term->parent != 0) { $parent_menu_item_id = get_parent_menu_item_id_by_name($term->parent, $menu_id); if ($parent_menu_item_id) { $menu_item_id = wp_update_nav_menu_item($menu_id, 0, array( ‘menu-item-title’ => $term_name, ‘menu-item-object-id’ => intval($term_id), ‘menu-item-object’ => ‘product_cat’, ‘menu-item-type’ => ‘taxonomy’, ‘url’ => get_term_link($term), ‘menu-item-parent-id’ => $parent_menu_item_id, ‘menu-item-status’ … Read more

WordPress internal functions : why not use them?

Internal/private functions (their names are prefixed with an underscore) can be subject to changes without a warning and break backward compatibility unlike the public functions in general. This makes the core developement move faster being able to change part of the code without having to take deprecation steps over multiple versions of core. Many internal … Read more

Display related posts randomly that match “any” existing tags?

Some of the code in OP is a bit old and depreciated, like caller_get_posts which was depreciated years ago. The correct parameter to use now is ignore_sticky_posts. Your query is also really inefficient and not good for performance. Here is how I would tackle this issue Use get_queried_object_id() to get the current post ID instead … Read more