[oik] plugins.com

WordPress plugins and themes

  • Home
  • About
    • lazy shortcodes
    • smart shortcodes
    • oik base plugin
      • oik – donate
      • oik PayPal buttons
      • oik installation
      • oik Button Shortcode button
      • oik changelog
      • oik FAQ
      • oik plugins on SVN
      • oik plugins on GitHub
  • Plugins
    • oik base plugin
    • FREE oik plugins
    • WordPress plugins
    • Premium oik plugins
    • Bespoke oik plugins
  • Shortcodes
    • Shortcode examples
  • Blocks
    • Block examples
  • APIs
    • ALL action and filter hooks
  • Blog

bw_update_post_type() – Update the existing post_type with the overrides

Description

Update the existing post_type with the overrides

This includes removing "supports" capability as well as adding it.

Usage

bw_update_post_type( $type, $args );

Parameters

$type
( string ) required – the post type registration to update
$args
( array ) required – the options values to apply – already converted to bool where necessary

Returns

void

TO DO

We also need to do something special for "has_archive" and "rewrite"; otherwise the rewrite rules will be incorrect.

TO DO

Confirm that ignoring labels for WordPress 4.3 is the right solution. See TRAC #33543 Basically this solution means we can't override the builtin post types defaults. Is that the only minor issue?

Source

File name: oik-types/oik-types.php
Lines:
1 to 33 of 33
function bw_update_post_type( $type, $args ) {
  $post_type_object = get_post_type_object( $type );
  //bw_trace2( $post_type_object, "post_type_object before", true, BW_TRACE_VERBOSE );

  foreach ( $args as $key => $value ) {
    if ( $key == "labels" ) {
      continue;
    }  
    if ( $key == "supports" ) {
      bw_update_post_type_supports( $type, $value ); 
    }
    if ( $key == "has_archive" ) {
      bw_update_archive_stuff( $type, $value );
    }
    /* 
		 * Intercept when attachments are required in the nav_menu
		 */
    if ( $type == 'attachment' && "show_in_nav_menus" == $key && $value ) {
      add_filter( "nav_menu_meta_box_object", "oik_types_nav_menu_meta_box_object", 11 );
    } 
    if ( is_array( $value )  ) {
      // convert to stdObject?
      if ( 'template' === $key ) {
        $post_type_object->$key = $value;
      } else {
        $post_type_object->$key=(object) $value;
      }
    } else {
      $post_type_object->$key = $value;
    }
  }
  //bw_trace2( $post_type_object, "post_type_object after", false, BW_TRACE_VERBOSE );
} 
 
 View on GitHub

Called by

1 to 1 of 1
  • oikcpt_register_post_type() – Register or update a custom post type

Invoked by

    Calls

    1 to 2 of 2
    • bw_update_archive_stuff() – Handle a change of the has_archive / rewrite setting
    • bw_update_post_type_supports() – Update post_type supports features

    Call hooks

    Function name: bw_update_post_type
    Plugin ref: oik-types
    Version: 2.4.4
    Sourcefile: oik-types.php
    File ref: oik-types.php
    Deprecated?: No
    API Letters: B,P,T,U

    Published: March 13, 2017 | Last updated: March 13, 2017

    Information

    Function name: bw_update_post_type
    Plugin ref: oik-types
    Version: 2.4.4
    Sourcefile: oik-types.php
    File ref: oik-types.php
    Deprecated?: No
    API Letters: B,P,T,U

    Recent plugin updates

    oik-weight-zone-shipping v0.2.13 oik-weight-zone-shipping v0.2.13 has been tested with WooCommerce 10.1.2 and WordPress 6.8.2 ...
    SB Children Block v1.3.0 Upgrade to SB Children Block v1.3.0 for support for PHP 8.3 and PHP 8.4  ...
    oik v4.15.3 Update to oik v4.15.3 for a couple of security fixes. Tested with WordPress 6.8.2 ...
    oik-privacy-policy v1.4.9 Update to oik-privacy-policy v1.4.9 for a security fix. Tested with WordPress 6.8.2 and PHP 8.3 and PHP 8.4 ...
    oik-nivo-slider v1.17.0 oik-nivo-slider v1.17.0 introduces the Nivo slider block - oik-nivo-slider/nivo. ...

    Plugins

    • All Plugins
    • oik base plugin
    • FREE oik plugins
    • WordPress plugins
    • Premium oik plugins

    Themes

    • FREE themes
    • Bespoke themes
    • Premium themes

    Blocks

    • All Blocks
    • Block examples
    • About Blocks

    Shortcodes

    • All Shortcodes
    • Shortcode examples
    • About Shortcodes

    Reference

    • About APIs
    • All APIs
    • All Classes
    • All Files
    • All Hooks

    Support

    • Contact
    • Cookies policy
    • Get API key
    • Privacy
    • Request support
    • Sitemap
    • Stay informed
    • Terms and Conditions
    oik-plugins
    Email: herb@bobbingwide.com

    Weight shipping plugins

    Find out which cart weight shipping plugin you need for your WooCommerce site.
    Which cart weight based plugin do I need?

    Site:  www.oik-plugins.com
    © Copyright oik-plugins 2011-2025. All rights reserved.


    Website designed and developed by Herb Miller of Bobbing Wide
    Proudly powered by WordPress and oik-plugins

    WordPress version: 6.8.3

    Gutenberg version: 21.7.0

    PHP version: 8.2.29