<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Code &#8211; SOAP.ZONE</title>
	<atom:link href="https://soap.zone/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>https://soap.zone</link>
	<description>Creativity Internet Studio</description>
	<lastBuildDate>Fri, 07 Feb 2025 20:28:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://soap.zone/wp-content/uploads/2025/02/cropped-LOGO-1-32x32.jpg</url>
	<title>Code &#8211; SOAP.ZONE</title>
	<link>https://soap.zone</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Elementor</title>
		<link>https://soap.zone/2024/08/12/elementor/</link>
					<comments>https://soap.zone/2024/08/12/elementor/#respond</comments>
		
		<dc:creator><![CDATA[soap.zone]]></dc:creator>
		<pubDate>Mon, 12 Aug 2024 12:04:47 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Elementor]]></category>
		<guid isPermaLink="false">https://soap.zone/?p=1765</guid>

					<description><![CDATA[Удаляем все целевые элементы перед рендерингом страницы, точное удаление с использованием DOMDocument в PHP: строку Elementor если в ней присутствует слово Elementor элементы с классом .edit_with_elementor , с id=elementor-editor, с id=ementor-switch-mode function hide_elementor_admin_elements() { ob_start(function($content) { // Загружаем содержимое в DOMDocument $dom = new DOMDocument(); libxml_use_internal_errors(true); // Игнорируем ошибки парсинга HTML $dom->loadHTML($content, LIBXML_HTML_NOIMPLIED &#124; LIBXML_HTML_NODEFDTD); [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Удаляем все целевые элементы перед рендерингом страницы, точное удаление с использованием DOMDocument в PHP:<br />
строку <span class="post-state">Elementor</span> если в ней присутствует слово Elementor<br />
элементы  с классом .edit_with_elementor , с id=elementor-editor, с id=ementor-switch-mode</p>
<pre>
function hide_elementor_admin_elements() {
    ob_start(function($content) {
        // Загружаем содержимое в DOMDocument
        $dom = new DOMDocument();
        libxml_use_internal_errors(true); // Игнорируем ошибки парсинга HTML
        $dom->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
        libxml_clear_errors();

        // Удаляем элементы <span class="post-state">, содержащие "Elementor"
        $spans = $dom->getElementsByTagName('span');
        for ($i = $spans->length - 1; $i >= 0; $i--) {
            $span = $spans->item($i);
            if ($span->hasAttribute('class') && strpos($span->getAttribute('class'), 'post-state') !== false) {
                if (trim($span->nodeValue) === 'Elementor') {
                    $span->parentNode->removeChild($span);
                }
            }
        }

        // Удаляем элементы с классом .edit_with_elementor
        $xpath = new DOMXPath($dom);
        foreach ($xpath->query('//*[@class="edit_with_elementor"]') as $node) {
            $node->parentNode->removeChild($node);
        }

        // Удаляем элемент с id="elementor-editor"
        $editor = $dom->getElementById('elementor-editor');
        if ($editor) {
            $editor->parentNode->removeChild($editor);
        }

        // Удаляем элемент с id="elementor-switch-mode"
        $switch_mode = $dom->getElementById('elementor-switch-mode');
        if ($switch_mode) {
            $switch_mode->parentNode->removeChild($switch_mode);
        }

        // Возвращаем модифицированный контент
        return $dom->saveHTML();
    });
}
add_action('admin_init', 'hide_elementor_admin_elements');

function end_ob_clean() {
    ob_end_flush();
}
add_action('shutdown', 'end_ob_clean');
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://soap.zone/2024/08/12/elementor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>При клике на один элемент кликнуть другой</title>
		<link>https://soap.zone/2024/05/03/clic-js/</link>
					<comments>https://soap.zone/2024/05/03/clic-js/#respond</comments>
		
		<dc:creator><![CDATA[soap.zone]]></dc:creator>
		<pubDate>Thu, 02 May 2024 23:08:58 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JS]]></category>
		<guid isPermaLink="false">https://soap.zone/?p=1709</guid>

					<description><![CDATA[При клике на элемент с классом .ten делаем клик на элемент с классом .six $(".ten").on("click", ()=&#62;$(".six").click()); Пример кода, код, который должен работать как для &#60;a&#62;, так и для &#60;button&#62; При необходимости подключить &#60;script src=&#8221;https://code.jquery.com/jquery-3.6.0.min.js&#8221;&#62;&#60;/script&#62;     &#60;script&#62; document.addEventListener("DOMContentLoaded",function(){ const observer = new MutationObserver(() =&#62; { // Ищем элемент с классом .menu-item-1788 &#62; a const demoFilterShop = [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>При клике на элемент с классом .ten<br />
делаем клик на элемент с классом .six</p>
<pre>$(".ten").on("click", ()=&gt;$(".six").click());</pre>
<p>Пример кода, код, который должен работать как для</p>
<pre><code>&lt;a&gt;</code>, так и для <code>&lt;button&gt;</code></pre>
<div>При необходимости подключить</div>
<div>&lt;script src=&#8221;https://code.jquery.com/jquery-3.6.0.min.js&#8221;&gt;&lt;/script&gt;</div>
<div class="ds-markdown-code-copy-button">
<p><span class="token keyword" style="font-family: Consolas, Monaco, monospace;"> </span></p>
<pre><code>   &lt;script&gt; document.addEventListener("DOMContentLoaded",function(){
const<span style="font-family: Consolas, Monaco, monospace;"> observer </span><span class="token operator" style="font-family: Consolas, Monaco, monospace;">=</span> <span class="token keyword" style="font-family: Consolas, Monaco, monospace;">new</span> <span class="token class-name" style="font-family: Consolas, Monaco, monospace;">MutationObserver</span><span class="token punctuation" style="font-family: Consolas, Monaco, monospace;">(</span><span class="token punctuation" style="font-family: Consolas, Monaco, monospace;">(</span><span class="token punctuation" style="font-family: Consolas, Monaco, monospace;">)</span> <span class="token operator" style="font-family: Consolas, Monaco, monospace;">=&gt;</span> <span class="token punctuation" style="font-family: Consolas, Monaco, monospace;">{</span>
     <span class="token comment">// Ищем элемент с классом .menu-item-1788 &gt; a</span>
        <span class="token keyword">const</span> demoFilterShop <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">querySelector</span><span class="token punctuation">(</span><span class="token string">".menu-item-1788 &gt; a"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        <span class="token keyword">if</span> <span class="token punctuation">(</span>demoFilterShop<span class="token punctuation">)</span> <span class="token punctuation">{</span>
            <span class="token comment">// Добавляем обработчик на body для делегирования событий</span>
            document<span class="token punctuation">.</span>body<span class="token punctuation">.</span><span class="token function">addEventListener</span><span class="token punctuation">(</span><span class="token string">"click"</span><span class="token punctuation">,</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token parameter">event</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
                <span class="token comment">// Проверяем, был ли клик на элементе .menu-item-1132 &gt; a или button.menu-item-1132</span>
                <span class="token keyword">if</span> <span class="token punctuation">(</span>
                    event<span class="token punctuation">.</span>target<span class="token punctuation">.</span><span class="token function">closest</span><span class="token punctuation">(</span><span class="token string">".menu-item-1132 &gt; a"</span><span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token comment">// Для &lt;a&gt;</span>
                    event<span class="token punctuation">.</span>target<span class="token punctuation">.</span><span class="token function">closest</span><span class="token punctuation">(</span><span class="token string">"button.menu-item-1132"</span><span class="token punctuation">)</span> <span class="token comment">// Для &lt;button&gt;</span>
                <span class="token punctuation">)</span> <span class="token punctuation">{</span>
                    event<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Отменяем стандартное поведение</span>
                    demoFilterShop<span class="token punctuation">.</span><span class="token function">click</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Передаем клик на .menu-item-1788 &gt; a</span>
                <span class="token punctuation">}</span>
            <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

            <span class="token comment">// Останавливаем observer, так как элементы найдены</span>
            observer<span class="token punctuation">.</span><span class="token function">disconnect</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    <span class="token comment">// Начинаем наблюдение за изменениями в DOM</span>
    observer<span class="token punctuation">.</span><span class="token function">observe</span><span class="token punctuation">(</span>document<span class="token punctuation">.</span>body<span class="token punctuation">,</span> <span class="token punctuation">{</span> <span class="token literal-property property">childList</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token literal-property property">subtree</span><span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;
&lt;/script&gt;
</span></code></pre>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://soap.zone/2024/05/03/clic-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Limit the number of lines in a block using CSS</title>
		<link>https://soap.zone/2024/04/29/limit-css/</link>
		
		<dc:creator><![CDATA[soap.zone]]></dc:creator>
		<pubDate>Mon, 29 Apr 2024 17:48:35 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[css]]></category>
		<guid isPermaLink="false">https://soap.zone/?p=1702</guid>

					<description><![CDATA[Add the following to the styles file .your-blocks { margin: 2rem 0 1rem 0; line-height: 2rem; max-height: 8rem; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden!important; text-overflow: ellipsis; -webkit-line-clamp: 2; }]]></description>
										<content:encoded><![CDATA[<p>Add the following to the styles file</p>
<pre>.your-blocks  {
    margin: 2rem 0 1rem 0;
    line-height: 2rem;
    max-height: 8rem;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden!important;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}</pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
