td_api_module::add

Available on: Newspaper V11+

This api call is used to add new module to the theme.

Usage:

<?php td_api_module::add( $id, $params_array ) ?>

Parameters:

$id (string) (required)

  • the module id – has to be different from the id’s used on the modules which are already registered in the theme
  • it must start with td_module_flex_ and end with a numeric suffix, example of valid $id’s: td_module_flex_custom, td_module_90 etc.

$params_array (array) (required)

  • an array which contains the parameters of the module:
Key name
Type
Description
file string the path of the module template file
text string the module title, appears in Theme Panel and on Article List settings area
img string the path for the icon used to represent the module
used_on_blocks array the blocks on which this module is used
excerpt_title integer title excerpt length
excerpt_content integer content excerpt length
enabled_on_more_articles_box boolean show the module in the more articles box in panel -> post settings -> more articles box
enabled_on_loops boolean show the module in panel on loops
uses_columns boolean enable/disable column use on this block, if it’s disabled it will display only one module on each row
category_label boolean show the module in panel -> block_settings -> category label
class string classes added on the module wrapper

Examples:

In the following example we’ll add Flex Module Custom , you can see how the code looks on plugin, you have to modify the file path to match with the plugin current folder, we use the variables which were introduced in the Plugin Method section, ex:

td_api_module::add('td_module_flex_custom',
    array(
        'file'                         => $this->plugin_path . '/modules/td_module_flex_custom.php',
        'text'                         => 'Module Flex Custom',
        'img'                          => '',
        'used_on_blocks'               => array( 'td_module_flex_custom' ),
        'excerpt_title'                => 25,
        'excerpt_content'              => 25,
        'enabled_excerpt_in_panel'     => false,
        'enabled_on_more_articles_box' => false,
        'enabled_on_loops'             => false,
        'uses_columns'                 => false,
        // if the module uses columns on the page template + loop
        'category_label'               => false,
        'class'                        => 'td_module_wrap td-animation-stack',
        'group'                        => ''
        // '' - main theme, 'mob' - mobile theme, 'woo' - woo theme
    )
);