HEX
Server: LiteSpeed
System: Linux mail.aatilis.ir 6.8.0-101-generic #101-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 9 10:15:05 UTC 2026 x86_64
User: www (1000)
PHP: 8.3.30
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/soqatland.com/wp-content/themes/woodmart/inc/integrations/rank-math.php
<?php
/**
 * Rank Math.
 *
 * @package Woodmart
 */

if ( ! defined( 'RANK_MATH_VERSION' ) ) {
	return;
}

if ( ! function_exists( 'woodmart_rank_math_excluded_post_types' ) ) {
	/**
	 * Exclude WoodMart layout post type from Rank Math sitemap.
	 *
	 * @param array $post_type Post type.
	 * @return array
	 */
	function woodmart_rank_math_excluded_post_types( $post_type ) {
		if ( isset( $post_type['woodmart_layout'] ) ) {
			unset( $post_type['woodmart_layout'] );
		}

		return $post_type;
	}

	add_filter( 'rank_math/excluded_post_types', 'woodmart_rank_math_excluded_post_types' );
}

if ( ! function_exists( 'woodmart_rank_math_update_shortcode_title' ) ) {
	/**
	 * Update WoodMart title shortcode to work with Rank Math.
	 *
	 * @return void
	 */
	function woodmart_rank_math_update_shortcode_title() {
		if ( 'wpb' !== woodmart_get_current_page_builder() ) {
			return;
		}

		?>
		<script type="text/javascript">
			(function ($) {
				wp.hooks.addFilter('rank_math_content', 'rank-math', function (content) {
					return content.replace(/\[woodmart_title\s+([^\]]+)\]/g, function (match, attrString) {
						const parseAttributes = (str) => {
							const attrs = {};
							const regex = /(\w+)=(["'])(.*?)\2/g;
							let m;
							while ((m = regex.exec(str)) !== null) {
								attrs[m[1]] = m[3];
							}
							return attrs;
						};

						const attrs = parseAttributes(attrString);

						const tag = attrs.tag || 'h4';

						if (attrs.title) {
							const wrappedTitle = `<${tag}>${attrs.title}</${tag}>`;

							const newAttrString = attrString.replace(/title=(["'])(.*?)\1/, `title="${wrappedTitle}"`);

							return `[woodmart_title ${newAttrString}]`;
						}

						return match;
					});
				}, 9);
			})(jQuery);
		</script>
		<?php
	}

	add_filter( 'admin_footer-post.php', 'woodmart_rank_math_update_shortcode_title' );
}