With the release of MH Magazine 5.x, the theme underwent a major internal refactor.
Many core functions were renamed and reorganised as part of a move from a legacy, function-based structure to a more modular and class-based architecture.
If your child theme or custom code relies on old MH Magazine function names, these changes are required to ensure compatibility.
This article lists the most important function renames, grouped by location, to help you update your child theme quickly and safely.
Main Functions File (functions.php) #
The following core setup and utility functions were renamed:
| Old Function Name | New Function Name |
|---|---|
| mh_magazine_theme_setup() | mh_theme_setup() |
| mh_magazine_custom_menus() | mh_custom_menus() |
| mh_magazine_image_sizes() | mh_image_sizes() |
| mh_magazine_content_width() | mh_content_width() |
| mh_magazine_scripts() | mh_scripts() |
| mh_magazine_fs() | mh_freemius() |
| mh_magazine_fs_settings_url() | mh_fs_settings_url() |
| mh_magazine_fs_icon_url() | mh_fs_icon_url() |
Core Functions #
Location: includes/core/Custom-Functions.php
These functions are commonly used inside templates, hooks, and child theme overrides:
| Old Function Name | New Function Name |
|---|---|
| mh_magazine_get_option() | mh_get_option() |
| mh_magazine_excerpt() | mh_excerpt() |
| mh_magazine_custom_excerpt() | mh_custom_excerpt() |
| mh_magazine_post_meta() | mh_post_meta() |
| mh_magazine_comment_count() | mh_comment_count() |
| mh_magazine_container_class() | mh_container_class() |
| mh_magazine_sidebar_class() | mh_sidebar_class() |
| mh_magazine_sidebar_layout() | mh_sidebar_layout() |
| mh_magazine_detect_color() | mh_detect_color() |
| mh_magazine_slider_terms() | mh_slider_terms() |
| mh_magazine_featured_posts_small() | mh_featured_posts_small() |
| mh_magazine_featured_posts_large() | mh_featured_posts_large() |
| mh_magazine_featured_posts_grid() | mh_featured_posts_grid() |
| mh_magazine_featured_posts_list() | mh_featured_posts_list() |
| mh_magazine_featured_posts_ticker() | mh_featured_posts_ticker() |
| mh_magazine_featured_posts() | mh_featured_posts() |
| mh_magazine_spotlight() | mh_spotlight() |
| mh_magazine_magazine_grid() | mh_magazine_grid() |
| mh_magazine_magazine_list() | mh_magazine_list() |
| mh_magazine_magazine_content() | mh_magazine_content() |
| mh_magazine_widget_post_subheading() | mh_widget_post_subheading() |
| mh_magazine_loop_ads() | mh_loop_ads() |
| mh_magazine_sanitize_id_list() | mh_sanitize_id_list() |
| mh_magazine_sort_id_list() | mh_sort_id_list() |
| mh_magazine_html_class() | mh_add_html_class() |
| mh_magazine_body_class() | mh_add_body_class() |
| mh_magazine_boxed_container_open() | mh_boxed_container_open() |
| mh_magazine_boxed_container_close() | mh_boxed_container_close() |
| mh_magazine_wide_container_open() | mh_wide_container_open() |
| mh_magazine_wide_container_close() | mh_wide_container_close() |
| mh_magazine_featured_image() | mh_featured_image() |
| mh_magazine_excerpt_length() | mh_excerpt_length() |
| mh_magazine_excerpt_more() | mh_excerpt_more() |
| mh_magazine_pagination() | mh_pagination() |
| mh_magazine_author_box() | mh_author_box() |
| mh_magazine_postnav() | mh_postnav() |
| mh_magazine_related_content() | mh_related_content() |
| mh_magazine_archive_title_prefix() | mh_archive_title_prefix() |
| mh_magazine_loop_layout() | mh_loop_layout() |
| mh_magazine_cat_subheading() | mh_cat_subheading() |
| mh_magazine_subheading() | mh_post_subheading() |
| mh_magazine_media_queries() | mh_add_media_queries_support() |
| mh_magazine_back_to_top() | mh_back_to_top() |
| mh_magazine_footer_widgets() | mh_footer_widgets() |
| mh_magazine_second_sidebar() | mh_second_sidebar() |
| mh_magazine_year() | mh_year() |
Premium Functions #
Location: includes/premium/classes/
| Old Function name | New Function Name |
|---|---|
| mh_magazine_archive_ads() | mh_archive_ads() |
| mh_magazine_register_widgets() | mh_register_widgets() |
Hook Functions (functions.php) #
These hook functions remain available and are used throughout the theme:
mh_html_class() mh_before_header() mh_after_header() mh_before_page_content() mh_after_page_content() mh_before_post_content() mh_after_post_content() mh_post_header() mh_post_content_top() mh_post_content_bottom() mh_loop_content() mh_cat_header() mh_before_footer() mh_after_footer() mh_before_container_close()
Functions Used in Template Files #
If your child theme overrides templates, check for these function calls:
Examples:
404.php:
mh_before_page_content(),
mh_second_sidebar()
archive.php:
mh_before_page_content(),
mh_cat_subheading(),
mh_cat_header(),
mh_author_box(),
mh_loop_layout(),
mh_pagination(),
mh_second_sidebar()
content-grid.php:
mh_post_grid_class(),
mh_post_meta()
content-header.php:
mh_custom_header()
content-large.php:
mh_post_meta()
content-list.php:
mh_post_meta()
content-single.php:
mh_post_subheading(),
mh_post_meta(),
mh_post_header(),
mh_featured_image(),
mh_post_content_top(),
mh_post_content_bottom()
footer.php:
mh_before_footer(),
mh_footer_widgets(),
mh_wide_container_close(),
mh_boxed_container_close(),
mh_after_footer(),
mh_copyright_notice()
header.php:
mh_html_class(),
mh_add_header_widget(),
mh_boxed_container_open(),
mh_before_header(),
mh_wide_container_open(),
mh_after_header()
index.php:
mh_before_page_content(),
mh_loop_layout(),
mh_pagination(),
mh_second_sidebar()
page.php:
mh_before_page_content(),
mh_after_page_content(),
mh_second_sidebar()
search.php:
mh_before_page_content(),
mh_loop_layout(),
mh_pagination(),
mh_second_sidebar()
single.php:
mh_before_post_content(),
mh_author_box(),
mh_postnav(),
mh_related_content(),
mh_after_post_content(),
mh_second_sidebar()
template-authors.php:
mh_before_page_content(),
mh_second_sidebar()
If these functions are still referenced using the old mh_magazine_* prefix, they must be updated.
Summary #
MH Magazine 5.x introduces breaking changes for child themes due to:
- Function renaming
- File reorganisation
- A modernised, class-based architecture
If your child theme or custom code was written for MH Magazine 4.x, you will need to update function names and verify template overrides to restore compatibility.
If you are unsure where a function is defined in the new version, search for its new name inside the includes/core/ and includes/premium/ folders.