Title: Tofferus's Replies | WordPress.org

---

# Tofferus

  [  ](https://wordpress.org/support/users/claborier/)

 *   [Profile](https://wordpress.org/support/users/claborier/)
 *   [Topics Started](https://wordpress.org/support/users/claborier/topics/)
 *   [Replies Created](https://wordpress.org/support/users/claborier/replies/)
 *   [Reviews Written](https://wordpress.org/support/users/claborier/reviews/)
 *   [Topics Replied To](https://wordpress.org/support/users/claborier/replied-to/)
 *   [Engagements](https://wordpress.org/support/users/claborier/engagements/)
 *   [Favorites](https://wordpress.org/support/users/claborier/favorites/)

 Search replies:

## Forum Replies Created

Viewing 11 replies - 1 through 11 (of 11 total)

 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Connect Matomo - Analytics Dashboard for WordPress] Connecting multisite to existing Matomo Site id’s](https://wordpress.org/support/topic/connecting-multisite-to-existing-matomo-site-ids/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [2 years, 8 months ago](https://wordpress.org/support/topic/connecting-multisite-to-existing-matomo-site-ids/#post-17026486)
 * Nevermind, I solved the case !
 * It appears that when executing the Google Analtycs Data import, the two created
   sites on Matomo’s side were not given the correct URL. Instead it tooks the Google
   Analytics property name.
 * So when activating the tracking with WP-Matomo, it was not able to recognize 
   the sites.
 * So to solve that :
    - On Matomo On Premise : I deleted the two unwanted site created by WP-Matomo
    - On Matomo On Premise : Then I edited the two site containing my Google Analytics
      data to set the correct URL
    - Then On WP-Matomo : I reset all the plugin data (within the “Support” tab 
      of the plugin)
    - Then On WP-Matomo : I reactivate the tracking : and this time the plugin successfully
      recognize the existing site on Matomo.
 * Tracking is activated with correct sites IDs.
 * Thanks for your nice work.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Custom Post Type UI] Exporting CPT UI data to file for source control and registering data from files](https://wordpress.org/support/topic/exporting-cpt-ui-data-to-file-for-source-control-and-registering-data-from-files/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [3 years, 8 months ago](https://wordpress.org/support/topic/exporting-cpt-ui-data-to-file-for-source-control-and-registering-data-from-files/#post-15926952)
 * Hi [@imokweb](https://wordpress.org/support/users/imokweb/),
 * Hope I’m not too late
 * Here is the class I’m using to “pluginize” the CPT UI data (as json) on one hand
   and that load the JSON data on the other hand.
 * I did not manage to explore all of the of the recomandations given by [@tw2113](https://wordpress.org/support/users/tw2113/)
   in [this answer](https://wordpress.org/support/topic/exporting-cpt-ui-data-to-file-for-source-control-and-registering-data-from-files/#post-15555690)(
   thanks by the way) so things can surely be improved. However it works for me 
   as it is 😉
 * [@tw2113](https://wordpress.org/support/users/tw2113/) Also thanks for adding
   the issue in consideration !
 *     ```
       <?php
   
       /**
        * Class description
        * 
        * CPTUI_Sync has two mains roles : 
        * 1- Pluginize CPT UI data, which mean exporting the data as a JSON file.
        *    When pluginizing is on, the data are pluginized whenever CPType or CPTax creation / update /deletion is detected.
        * 
        * 2- Register / load pluginized data
        *    CPTUI_Sync will automatically detect the existence of pluginized data and will automatically register them.
        * 
        * How does it work :
        * 
        * Instanciate the class will automatically register pluginized data if such data exists
        * >> <code>$cpt_ui_synchronizer = new CPTUI_Sync();</code>
        * 
        * Pluginizing the data is something one may want to do only in specific use case (e.g : on your local dev environment)
        * So, one will have to implement one extra step to activate the plugination, depending on your logic / orgainization
        * >> <code>$cpt_ui_synchronizer->pluginized_data();</code>
        *  
        * 
        * Support : https://wordpress.org/support/topic/exporting-cpt-ui-data-to-file-for-source-control-and-registering-data-from-files/
        */
   
       class CPTUI_Sync {
   
         const CONFIG_DIR_NAME           = 'cptui-json';
         const CUSTOM_POST_TYPE_FILENAME = 'cptui-post-types-config.json';
         const CUSTOM_POST_TAX_FILENAME  = 'cptui-post-tax-config.json';
   
         function __construct() {
           add_action( 'init', [ $this, "register_post_type" ] );
           add_action( 'init', [ $this, "register_tax" ] );
         }
   
         /**
          * Use the CPT UI hooks to detect CPType & CPTax registration / update or deletion to pluginize the data
          */
         public function pluginized_data() {
   
           // Initialize the folder that will receive pluginized data
           self::initialize_config_dir();
   
           // After CPT UI Register / update / delete post types
           add_action( 'cptui_post_register_post_types', [ $this, "pluginize_local_cptui_post_types" ] );
           add_action( 'cptui_after_update_post_type'  , [ $this, "pluginize_local_cptui_post_types" ] );
           add_action( 'cptui_after_delete_post_type'  , [ $this, "pluginize_local_cptui_post_types" ] );
   
           // After CPT UI Register / update / delete taxonomies
           add_action( 'cptui_post_register_taxonomies', [ $this, "pluginize_local_cptui_taxonomies" ] );
           add_action( 'cptui_after_update_taxonomy'   , [ $this, "pluginize_local_cptui_taxonomies" ] );
           add_action( 'cptui_after_delete_taxonomy'   , [ $this, "pluginize_local_cptui_taxonomies" ] );
         }
   
         /**
          * Register taxonomies from config file
          * Bug : when json decoding the data it seems that bool value are considered as string
          */
         public static function register_tax() {
           $config_file = self::get_cptui_post_tax_config_file();
           if( file_exists( $config_file ) ) {
             $json_config   = file_get_contents($config_file);
             $taxonomies = json_decode($json_config);
             if( !empty($taxonomies) ){
               foreach($taxonomies as $taxonomy) {
                 if ( function_exists("cptui_register_single_taxonomy") ) {
                   cptui_register_single_taxonomy( (array) $taxonomy );
                 }
               }
             }
           }
         }
   
         /**
          * Register post type from config file
          */
         public static function register_post_type() {
           $config_file = self::get_cptui_post_type_config_file();
           if( file_exists( $config_file ) ) {
             $json_config   = file_get_contents($config_file);
             $post_types = json_decode($json_config);
             if( !empty($post_types) ){
               foreach($post_types as $post_type) {
                 if ( function_exists("cptui_register_single_post_type") ) {
                   cptui_register_single_post_type( (array) $post_type );
                 }
               }
             }
           }
         }
   
         /**
          * Retrieve the cptui config folder path
          */ 
         public static function get_config_dir() {
           $theme_dir = get_stylesheet_directory();
           return $theme_dir."/".self::CONFIG_DIR_NAME;
         }
   
         /**
          * Retrieve the post type config file path
          */
         public static function get_cptui_post_type_config_file() {
           return self::get_config_dir()."/".self::CUSTOM_POST_TYPE_FILENAME;
         }
   
         /**
          * Retrieve the post tax config file path
          */
         public static function get_cptui_post_tax_config_file() {
           return self::get_config_dir()."/".self::CUSTOM_POST_TAX_FILENAME;
         }
   
         /**
          * Create config dir
          */
         private function initialize_config_dir(){
           $cptui_json_dir = self::get_config_dir();
   
           // Create the config directory if it doesn't exist.
           if ( ! is_dir( $cptui_json_dir ) ) {
             mkdir( $cptui_json_dir, 0755 );
           }
         }
   
         public static function pluginize_local_cptui_post_types( $data = [] ) {
           // Fetch all of our post types and encode into JSON.
           $cptui_post_types = get_option( 'cptui_post_types', [] );
           array_walk_recursive($cptui_post_types, 'self::set_disp_value' );
           $content = json_encode( $cptui_post_types );
   
           // Save the encoded JSON to a JSON file holding all of them.
           $cptui_json_dir = self::get_config_dir();
           file_put_contents( $cptui_json_dir . '/cptui-post-types-config.json', $content );
         }
   
         public static function pluginize_local_cptui_taxonomies( $data = [] ) {
           // Fetch all of our taxonomies and encode into JSON.
           $cptui_taxonomies = get_option( 'cptui_taxonomies', [] );
           array_walk_recursive($cptui_taxonomies, 'self::set_disp_value' );
           $content = json_encode( $cptui_taxonomies );
   
           // Save the encoded JSON to a JSON file holding all of them.
           $cptui_json_dir = self::get_config_dir();
           file_put_contents( $cptui_json_dir . '/cptui-post-tax-config.json', $content );
         }
   
         private static function set_disp_value(&$value) 
         {
           if ( 'false' === $value ) {
             $value = false;
           }
           elseif ( 'true' === $value ) {
             $value = true;
           }
         }
   
   
       }
       ```
   
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[File Manager for Google Drive - Integrate Google Drive] Customizing embedded document toolbar (Hide Google UI controls)](https://wordpress.org/support/topic/customizing-embedded-document-toolbar-hide-google-ui-controls/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [3 years, 9 months ago](https://wordpress.org/support/topic/customizing-embedded-document-toolbar-hide-google-ui-controls/#post-15890477)
 * Hi [@princeahmed](https://wordpress.org/support/users/princeahmed/),
 * Many thanks.
 * 1. Do you know when the option will be available ?
    2. Any chance you will consider
   the need ? It seems possible to achieve as Google provides a way to share the
   entire document or only a specific tabs when you use the “Publish to the web”
   feature inside a Google Document.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Custom Post Type UI] Exporting CPT UI data to file for source control and registering data from files](https://wordpress.org/support/topic/exporting-cpt-ui-data-to-file-for-source-control-and-registering-data-from-files/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [4 years ago](https://wordpress.org/support/topic/exporting-cpt-ui-data-to-file-for-source-control-and-registering-data-from-files/#post-15598716)
 * Hi,
 * Sorry for the delay, I’m running out of time 🙂
 * Anyway, many thanks for your answer ! To let you know, I just adapt my code to
   implement the first solution you showed me. So I make use of `cptui_register_single_post_type`&`
   cptui_register_single_taxonomy` and everything is going well 🙂
 * However I think I would like to implement the second way as you advice me, but
   I will need some more time to study that, and I may have some more questions.
 * Once I do that, I intend to share my code. But if someone need it right now, 
   feel free to ask.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Colissimo Officiel : Méthodes de livraison pour WooCommerce] Options de livraison introuvables pour](https://wordpress.org/support/topic/options-de-livraison-introuvables-pour-3/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [4 years, 7 months ago](https://wordpress.org/support/topic/options-de-livraison-introuvables-pour-3/#post-14912019)
 * Bonjour,
 * Merci, une autre solution serait de discuter sur le Slack de WordPresss ?
    (je
   n’ai pas trouvé le support par ticket de Colissimo non plus)
 * Je suis déjà inscris et connecté
 * > [Slack](https://make.wordpress.org/chat/)
 * 
    Mon pseudo : [@chris](https://wordpress.org/support/users/chris/)
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Colissimo Officiel : Méthodes de livraison pour WooCommerce] Options de livraison introuvables pour](https://wordpress.org/support/topic/options-de-livraison-introuvables-pour-3/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [4 years, 7 months ago](https://wordpress.org/support/topic/options-de-livraison-introuvables-pour-3/#post-14907901)
 * [@iscpcolissimo](https://wordpress.org/support/users/iscpcolissimo/) Pourriez-
   vous m’indiquer comment envoyer un message privé svp ? J’ai cherché sans succès…
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Colissimo Officiel : Méthodes de livraison pour WooCommerce] Options de livraison introuvables pour](https://wordpress.org/support/topic/options-de-livraison-introuvables-pour-3/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [4 years, 7 months ago](https://wordpress.org/support/topic/options-de-livraison-introuvables-pour-3/#post-14904686)
 * Nouvelle piste : il semblerait que le plugin propose une méthode de livraison
   lorsque les produits n’ont pas de poids.
    - J’ai un panier avec 3 produit sans poids : le plugin me propose bien la méthode“
      colissimo sans signature” que j’ai configuré.
    - Je modifie le poids de l’un des produits et je rafraichit mon panier et j’ai
      de nouveau le message : “Options de livraison introuvables pour…” qui apparait
 *  -  This reply was modified 4 years, 7 months ago by [Tofferus](https://wordpress.org/support/users/claborier/).
    -  This reply was modified 4 years, 7 months ago by [Tofferus](https://wordpress.org/support/users/claborier/).
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] Woocommerce Blocks – Featured Category Block button alignment problem](https://wordpress.org/support/topic/woocommerce-blocks-featured-category-block-button-alignment-problem/)
 *  [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [5 years, 1 month ago](https://wordpress.org/support/topic/woocommerce-blocks-featured-category-block-button-alignment-problem/#post-14286792)
 * [@guerre64](https://wordpress.org/support/users/guerre64/)
 * Quick fix :
 * You can add the `has-text-align-center` to the block thanks to the “advanced 
   settings”, it will center the button.
 * The documentation to add the CSS class : [https://wordpress.com/support/adding-additional-css-classes-to-blocks/](https://wordpress.com/support/adding-additional-css-classes-to-blocks/)
 * [@maykato](https://wordpress.org/support/users/maykato/) Is it still possible
   to know is there will be a fix about that in further version of Woocommerce ?
 * Thanks
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] Woocommerce Blocks – Featured Category Block button alignment problem](https://wordpress.org/support/topic/woocommerce-blocks-featured-category-block-button-alignment-problem/)
 *  [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [5 years, 1 month ago](https://wordpress.org/support/topic/woocommerce-blocks-featured-category-block-button-alignment-problem/#post-14286280)
 * Hi,
 * I did not have the full explanation but, trying to integrate Woocommerce inside
   a homemade theme, I encounter the same problem.
 * My Woocommerce version is `5.1.0`, I don’t know if the system status is relevant
   here.
 * It appears that when using Woocommerce blocks (Featured category, Features product,
   maybe some others…) the generated HTML for the button is structured like that:
 * `<div class="wp-block-button aligncenter"><a class="wp-block-button__link" href
   ="mysite.com/path/to/product">Shop now</a></div>`
 * The problem comes from the `aligncenter` class which is a former class used by
   WordPress. From now one, this class should be replaced by `has-text-align-center`.
 * I am currently trying out to find the best way to solve that or if Woocommerce
   intends to fix that. But I can’t find much topic about that and no proper solution
   for the one I found :
    – [https://wordpress.org/support/topic/featured-category-button-no-longer-centered/](https://wordpress.org/support/topic/featured-category-button-no-longer-centered/)
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Custom Field Template] File uploads have stopped working](https://wordpress.org/support/topic/file-uploads-have-stopped-working/)
 *  [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [8 years, 10 months ago](https://wordpress.org/support/topic/file-uploads-have-stopped-working/#post-9241484)
 * Same problem here, I probably encountered the bug when upgrading WordPress. But
   I’m not sure.
 * I intend to migrate on ACF some day, but right now, I need a quick fix. Before
   going deeper in the code, can you tell me if you found a way to solve that ?
 * Thanks
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Ajax Load More – Infinite Scroll, Load More, & Lazy Load] Wrong HTML structure when using ul container type](https://wordpress.org/support/topic/wrong-html-structure-when-using-container-type/)
 *  Thread Starter [Tofferus](https://wordpress.org/support/users/claborier/)
 * (@claborier)
 * [10 years, 5 months ago](https://wordpress.org/support/topic/wrong-html-structure-when-using-container-type/#post-6795191)
 * Hi
 * Thank you for your quick answer.
 * I understand there cannot be a quick fix for that as the behavior of the plugin
   is based on the existence of the “alm-reveal” div.
 * However is there any chance you plan to fix that for the foreseeable future :
   in any case that is not the proper way to build a HTML ul list element. Shouldn’t
   be the “alm-reveal” element be a wrapper for the “container type” element ?
 * Apart from that problem, thank you for your work, the plugin is really nice.

Viewing 11 replies - 1 through 11 (of 11 total)