';
$content = str_replace($placeholder, $scriptTag, $content);
}
}
}
return $content;
}//Perfmatters Compatibility
add_filter('ez_toc_pro_inline_css','ez_toc_perfmatters_touch_css');
function ez_toc_perfmatters_touch_css($css){
if('css' == ezTOC_Option::get( 'toc_loading' ) && class_exists('Perfmatters\Config') && !empty(Perfmatters\Config::$options['assets']['delay_js']) && !empty(Perfmatters\Config::$options['assets']['fastclick'])) {
$css .= 'label > * { pointer-events:none; }';
}
return $css;
}
/**
* Woodmart + WPbakery Gallery compatibility
* @since 2.0.58
*/
function ez_toc_woodmart_gallery_fix(){
if(function_exists('woodmart_load_classes') && class_exists('Vc_Manager')){
if(!wp_style_is('el-section-title')){
wp_register_style( 'el-section-title', WOODMART_THEME_DIR.'/css/parts/el-section-title.min.css', array() ,ezTOC::VERSION );
wp_enqueue_style( 'el-section-title' );
}
if(!wp_style_is('wd-section-title-style-simple-and-brd')){
wp_register_style( 'wd-section-title-style-simple-and-brd', WOODMART_THEME_DIR.'/css/parts/el-section-title-style-simple-and-brd.min.css', array() ,ezTOC::VERSION);
wp_enqueue_style( 'wd-section-title-style-simple-and-brd' );
}
if(!wp_style_is('wd-owl-carousel')){
wp_register_style( 'wd-owl-carousel', WOODMART_THEME_DIR.'/css/parts/lib-owl-carousel.min.css', array() ,ezTOC::VERSION);
wp_enqueue_style( 'wd-owl-carousel' );
}
if(!wp_style_is('wd-image-gallery')){
wp_register_style( 'wd-image-gallery', WOODMART_THEME_DIR.'/css/parts/el-gallery.min.css', array() ,ezTOC::VERSION);
wp_enqueue_style( 'wd-image-gallery' );
}if(!wp_style_is('wd-accordion')){
wp_register_style( 'wd-accordion', WOODMART_THEME_DIR.'/css/parts/el-accordion.min.css', array() ,ezTOC::VERSION);
wp_enqueue_style( 'wd-accordion' );
}
if(!wp_style_is('wd-tabs')){
wp_register_style( 'wd-tabs', WOODMART_THEME_DIR.'/css/parts/el-tabs.min.css', array() ,ezTOC::VERSION);
wp_enqueue_style( 'wd-tabs' );
}if(!wp_style_is('wd-team-member')){
wp_register_style( 'wd-team-member', WOODMART_THEME_DIR.'/css/parts/el-team-member.min.css', array() ,ezTOC::VERSION);
wp_enqueue_style( 'wd-team-member' );
}
}
}
add_action('wp_enqueue_scripts', 'ez_toc_woodmart_gallery_fix');/**
* Ad inserter plugin compatibility
* url : https://wordpress.org/plugins/ad-inserter/
* When toc shortcode being added inside ad inserter block, it runs infinite loop. Below code is the solution for it.
* @since 2.0.62
* return boolean
*/
add_filter('ez_toc_apply_filter_status_manually', 'ez_toc_adinserter_block_has_toc_shortcode',10,1);function ez_toc_adinserter_block_has_toc_shortcode($status){
if ( in_array( 'ad-inserter/ad-inserter.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
global $block_object;
for ($block = 0; $block <= 96; $block ++) {
if(isset($block_object [$block])){
$obj = $block_object [$block];
if(is_object($obj) && is_array($obj->wp_options)){
if(has_shortcode( $obj->wp_options['code'] , 'ez-toc' ) || has_shortcode( $obj->wp_options['code'] , 'toc' )){
$status = false;
break;
}
}
}
}}
return $status;
}/**
* Current Year, Symbols and IP Shortcode compatibility
* shortcode were not being parse for heading title in elementor
* plugin url : https://wordpress.org/plugins/current-year-shortcode/
* @since 2.0.62
*/
add_filter('ez_toc_table_heading_title_anchor', 'ez_toc_parse_curreny_year_shortcode',10,1);
add_filter('ez_toc_content_heading_title', 'ez_toc_parse_curreny_year_shortcode',10,1);
add_filter('ez_toc_content_heading_title_anchor', 'ez_toc_parse_curreny_year_shortcode',10,1);function ez_toc_parse_curreny_year_shortcode($content){
if ( in_array( 'current-year-shortcode/year-kgm.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) )) {
$content = do_shortcode($content);
}
return $content;
}/** Pressbook theme Compatiblity
* @since 2.0.63
* @param bool $status The current status of applying the TOC filter.
* @return bool The updated status of applying the TOC filter.
*/
add_filter('ez_toc_apply_filter_status_manually', 'ez_toc_press_books_theme_compatibility',10,1);
function ez_toc_press_books_theme_compatibility($status){
if(function_exists('wp_get_theme')){
$active_theme = wp_get_theme();
if(!empty($active_theme) && $active_theme->get( 'Name' ) == 'McLuhan'){
$status = false;
}
}
return $status;
}/**
* Divi Builder Compatibility
* @since 2.0.64
*/
add_filter(
'ez_toc_strip_shortcodes_with_inner_content',
function( $tags_to_remove ) {
$shortcodes = array (
'et_pb_text'
);
$tags_to_remove = array_merge( $tags_to_remove, $shortcodes );
return $tags_to_remove;
});/**
* To fix icon issue in TOC for the woo category page description
* @param mixed $allowed_tags
* @return mixed
*/
function eztoc_woo_category_toc_fix($allowed_tags) {
if( function_exists('is_product_category') && is_product_category() && true == ezTOC_Option::get( 'include_product_category', false)) {
$allowed_tags['svg'] = array(
'width' => true,
'height' => true,
'viewbox' => true,
'xmlns' => true,
'fill' => true,
'stroke' => true,
'style' => true,
'class'=> true
);
$allowed_tags['path'] = array(
'd' => true,
'fill' => true,
'stroke' => true,
);
$allowed_tags['span']['style'] = true;
}return $allowed_tags;
}
add_filter('wp_kses_allowed_html', 'eztoc_woo_category_toc_fix', 10, 2);/*
*Compatibility for Customize Post Categories for WPBakery Page Builder plugin
*@see https://github.com/ahmedkaludi/easy-table-of-contents/issues/843
*//**
* Custom post categories for Customize Post Categories for WPBakery Page Builder plugin
* @param string $content
* @return string
*/
add_filter('ez_toc_modify_process_page_content', 'ez_toc_post_categories_for_wpbakery_page_builder', 10, 1);function ez_toc_post_categories_for_wpbakery_page_builder($content) {
if (function_exists('Vc_Manager') && function_exists('POST_CATEGORY_WPBAKERY_PAGE_BUILDER\plugin_init') && is_category( ) ) {
global $wpdb;
$template_id = ez_toc_wpbakery_get_template_id();
if($template_id){
$content = get_post_field('post_content', $template_id);
}
}
return $content;
}/**
* Start buffer for Customize Post Categories for WPBakery Page Builder plugin
*/
add_action('template_redirect', 'ez_toc_start_buffer_for_wpbakery_category');
function ez_toc_start_buffer_for_wpbakery_category() {
if (function_exists('Vc_Manager') && is_category() && function_exists('POST_CATEGORY_WPBAKERY_PAGE_BUILDER\plugin_init')) {
ob_start('ez_toc_modify_wpbakery_category_template');
}
}/**
* Modify the category template for WPBakery Page Builder with Post Categories plugin
* @param string $buffer
* @return string
*/
function ez_toc_modify_wpbakery_category_template($buffer) {
$template_id =ez_toc_wpbakery_get_template_id();
if($template_id){
$post = ezTOC::get( $template_id );
if($post){
$find = $post->getHeadings();
$replace = $post->getHeadingsWithAnchors();
if ( !empty( $find ) && !empty( $replace ) && !empty( $buffer ) ){
return mb_find_replace($find, $replace, $buffer);
}
}
}return $buffer;
}/**
* Get template id for Customize Post Categories for WPBakery Page Builder plugin
* @return mixed
*/
function ez_toc_wpbakery_get_template_id(){
global $wpdb;
$template_id = false ;
$category_id = get_queried_object_id();
$template_id = get_term_meta($category_id, 'mst_post_cat_template', true);
if( $template_id && $template_id != 'active'){
return $template_id;
}else{
$template_id = $wpdb->get_var( $wpdb->prepare("
SELECT p.ID
FROM {$wpdb->posts} p
INNER JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id
WHERE p.post_type = %s
AND p.post_status = %s
AND pm.meta_key = %s
AND pm.meta_value = %s
LIMIT 1
",
'category_wpb',
'publish',
'mst_active',
'1'
));}return $template_id;
}/**
* Add js backup fix for Customize Post Categories for WPBakery Page Builder plugin
*/
add_action('wp_footer', 'ez_toc_js_to_footer_for_wpbakery_category');
function ez_toc_js_to_footer_for_wpbakery_category() {
$js_fallback_fix = false;if (function_exists('Vc_Manager') && is_category() && function_exists('POST_CATEGORY_WPBAKERY_PAGE_BUILDER\plugin_init')) {
$template_id = ez_toc_wpbakery_get_template_id();
if ($template_id) {
$post = ezTOC::get($template_id);
if ($post) {
$find = $post->getHeadings();
$replace = $post->getHeadingsWithAnchors();
if (!empty($find) && !empty($replace)) {
$js_fallback_fix = '
document.addEventListener("DOMContentLoaded", function () {
function eztocfindAndReplaceContent(findArray, replaceArray) {
if (!Array.isArray(findArray) || !Array.isArray(replaceArray) || findArray.length !== replaceArray.length) {
console.error("The find and replace arrays must be of the same length.");
return;
}let bodyContent = document.body.innerHTML;
findArray.forEach((findText, index) => {
const replaceText = replaceArray[index];
const regex = new RegExp(findText, "g");
bodyContent = bodyContent.replace(regex, replaceText);
});document.body.innerHTML = bodyContent;
}const findArray = ' . wp_json_encode($find) . ';
const replaceArray = ' . wp_json_encode($replace) . ';
eztocfindAndReplaceContent(findArray, replaceArray);
});
';
}
}
}
} elseif (class_exists('Publisher') && is_singular()) {
$post = ezTOC::get(get_the_ID());
if ($post) {
$find = $post->getHeadings();
$replace = $post->getHeadingsWithAnchors();
if (!empty($find)) {
$js_fallback_fix = '
document.addEventListener("DOMContentLoaded", function () {function eztocExtractHeadingTexts(inputArray) {
return inputArray.map((input) => {
if (input.length <= 6) {
return "";
}
return input.substring(1, input.length - 5);
});
}
function eztocStripTags(input) {
return input.replace(/<[^>]*>.*?<\/[^>]*>/gis, \'\');
}const findArray = eztocExtractHeadingTexts(' . wp_json_encode($find) . ');
const replaceArray = eztocExtractHeadingTexts(' . wp_json_encode($replace) . ');
const elements = document.querySelectorAll(\'h1:not(:has(span.ez-toc-section)), h2:not(:has(span.ez-toc-section)), h3:not(:has(span.ez-toc-section)), h4:not(:has(span.ez-toc-section)), h5:not(:has(span.ez-toc-section)), h6:not(:has(span.ez-toc-section))\');
if(elements.length){
elements.forEach(function(item, index){
let heading_inner = item.innerHTML;
let heading_txt = eztocStripTags(heading_inner);
const find_index = findArray.indexOf(heading_txt.trim());
if (find_index !== -1){
heading_inner = heading_inner.replace(findArray[find_index],replaceArray[find_index]);
item.innerHTML = heading_inner;
}
});
}});
';
}
}
}if ($js_fallback_fix) {
?>
شركة تجديد وترميم الحمامات0551615724 - من افضل الشركات في تجديد الحمامات شركة admsco
التجاوز إلى المحتوى تعتبر الحمامات من أهم الأماكن في المنزل، حيث تستخدم يوميًا وتتعرض للتآكل والتلف بمرور الوقت. لذلك، فإن تجديد وترميم الحمامات يعتبر أمرًا ضروريًا للحفاظ على جمالها ووظائفها. في هذا المقال، سنقدم لك دليلًا شاملاً لتجديد وترميم الحمامات وإعادة صيانتها.
قد يكون تكسير الحمامات ضروريًا في بعض الحالات، مثل:
تلف الأنابيب والصرف الصحي: إذا كنت تعاني من تسربات المياه أو انسدادات متكررة في الحمام، فقد يكون من الضروري تكسير الحمام لإصلاح الأنابيب والصرف الصحي. تغيير التصميم: إذا كنت ترغب في تغيير تصميم الحمام بشكل كامل، فسيكون من الضروري تكسيره وإعادة بنائه بالشكل الجديد. تجديد البلاط: إذا كانت بلاطات الحمام قديمة ومتهالكة، فقد يكون من الضروري تكسيرها وتجديدها ببلاطات جديدة. إليك خطوات بسيطة لتجديد وترميم الحمامات:
1. التخطيط والتصميمقبل البدء في أي أعمال تجديد، يجب عليك التخطيط والتصميم بعناية. قم بتحديد الميزانية المتاحة والمواد والألوان التي ترغب في استخدامها. قم برسم خطة تصميمية للحمام الجديد وتحديد المساحات والتجهيزات اللازمة.
2. إزالة الأثاث والتجهيزات القديمةقبل البدء في عملية التجديد، قم بإزالة الأثاث والتجهيزات القديمة من الحمام. قم بفك البلاط القديم وإزالة الحوض والمرحاض والدش وأي تجهيزات أخرى قديمة.
3. إصلاح الأنابيب والصرف الصحيقم بفحص الأنابيب والصرف الصحي وإصلاح أي تسربات أو انسدادات قبل بدء عملية الترميم. تأكد من استدعاء فني سباكة محترف للقيام بالإصلاحات اللازمة.
بعد إزالة البلاط القديم، قم بتجديد البلاط ببلاط جديد وعصري. اختر الألوان والأنماط التي تتناسب مع تصميم الحمام الجديد. قم بتركيب البلاط بعناية واستخدم المواد اللازمة لتثبيته بشكل جيد.
5. تركيب التجهيزات الجديدةبعد تجديد البلاط، قم بتركيب التجهيزات الجديدة مثل الحوض والمرحاض والدش والحنفيات. تأكد من اختيار التجهيزات ذات الجودة العالية وتركيبها بشكل صحيح.
6. التشطيبات النهائيةبعد تركيب التجهيزات، قم بعمل التشطيبات النهائية للحمام. قم بدهان الجدران بالألوان التي تفضلها وتركيب الإكسسوارات اللازمة مثل حامل الصابون وحامل المناشف. قم بتركيب الإضاءة المناسبة لإضفاء جو مريح وجميل على الحمام.
استعادة جمال الحماماتبعد اتباع هذه الخطوات وتجديد وترميم الحمامات، ستستعيد حمامك جماله ووظائفه. ستكون مساحة جديدة ومريحة للاسترخاء والاستمتاع بوقتك فيها. قد تحتاج إلى استعانة بمقاول محترف للقيام ببعض الأعمال الصعبة مثل إصلاح الأنابيب وتجديد البلاط، لذا لا تتردد في البحث عن متخصصين ذوي خبرة.
في الختام، تجديد الحمامات يعتبر استثمارًا جيدًا لمنزلك. إذا كنت ترغب في تحسين مظهر حمامك وزيادة قيمة منزلك، فلا تتردد في البدء في عملية التجديد والترميم. استمتع بحمام جديد وجميل
موضوعات ذات صلة
شركة تبريد وتنظيف خزانات المياه تعتبر خزانات المياه من العناصر الأساسية في أي منزل أو مبنى تجاري أو حكومي. فهي توفر لنا المياه النظيفة التي نحتاجها للشرب والطهي والاستخدام اليومي. ومن أجل الحفاظ على صحة الأفراد والمجتمع بشكل عام، يجب أن يتم تبريد وتنظيف هذه الخزانات بشكل منتظم وفعال. أهمية تبريد خزانات المياه يعتبر تبريد خزانات المياه أمرًا بالغ الأهمية، خاصة في المناطق ذات المناخ الحار. فعندما يتعرض الماء لدرجات حرارة مرتفعة، يمكن أن يتكاثر فيه الكائنات الحية الدقيقة بشكل سريع ومفرط. وهذا يعرض صحة الأفراد للخطر، حيث يمكن أن يتسبب في انتشار الأمراض والعدوى. بالإضافة إلى ذلك، يمكن أن يؤدي تبريد الماء إلى تحسين طعمه ورائحته. فعندما يكون الماء باردًا ومنعشًا، فإننا نشعر بالراحة والرغبة في شرب المزيد من الماء، مما يساعد في الحفاظ…
جلي وتلميع الرخام0551615724 جلي وتلميع الرخام هما عمليتان مهمتان للحفاظ على جمال ولمعان الأرضيات والأسطح المصنوعة من الرخام. يعتبر الرخام مادة فاخرة وجميلة، ولكنه يحتاج إلى العناية المناسبة للحفاظ على مظهره الأصلي. أهمية جلي وتلميع الرخام0551615724 يمنح جلي الرخام لمسة من الفخامة والجمال إلى المكان الذي يتواجد فيه. إنها عمليتان تساعد في إزالة الخدوش والبقع والعيوب السطحية من الرخام، وتعيد إليه لمعانه الأصلي. بالإضافة إلى ذلك، فإن جلي الرخام يحميه من التآكل والتلف الناتج عن الاستخدام اليومي وتعرضه للعوامل البيئية. عملية الجلي والتلميع للرخام يتطلب جلي وتلميع الرخام استخدام مواد وأدوات محددة للحصول على نتائج مثالية. في البداية، يتم استخدام آلة جلي مجهزة بقرص ماسي لإزالة الطبقة العليا من الرخام وتنعيم السطح. بعد ذلك، يتم استخدام مواد تلميع خاصة لإعادة لمعان الرخام وتنظيفه بعمق. يجب…