Помощ » Код, разширения и други хакерии » замяна на тег при показване на пост

  • Привет на всички.
    Дойде ми една идея, искам при показване на поста да се заменят всички срещания на 2-рото h2 (имам две h2-та във всеки пост) в поста с друг текст.
    1. няма да стане с плъг-ин-a search/find and replace, защото няма как да намирам 2-рото h2 автоматично и смятам е по-добре при показването да се случат тези промени.
    2. мисля, че това, което ме интересува, трябва да напиша в post-template.php (/wp-includes/) по подобен модел:

    $content = $pages[$page-1];
    	if ( preg_match('/<!--more(.*?)?-->/', $content, $matches) ) {
    		$content = explode($matches[0], $content, 2);
    		if ( !empty($matches[1]) && !empty($more_link_text) )
    			$more_link_text = strip_tags(wp_kses_no_null(trim($matches[1])));
    
    		$hasTeaser = true;
    	} else {
    		$content = array($content);
    	}

    но не съм сигурен. Можете ли да ми дадете някакви препоръки, насоки или предложения?

Виждате 6 отговора - 1 от 6 (от 6 общо)
  • Модератор Ivaylo Draganov

    (@dragunoff)

    Искаш да замениш само HTML-a (т.е. <h2> и </h2>), самият текст между таговете или и двете?
    Каква е крайната ти цел всъщност? 🙂

    И вярвам, че има по-просто решение от бърникане в ядрото.

    структурата ми е следната
    <h1></h1>
    <h2></h2>
    <div> …. </div>
    <h2></h2>
    <div> …. </div>

    целта ми е да сложа два блока между двата div-а, т.е. преди второто h2 – един реклама и един подобни постове с идеята да се виждат по-добре, защото смятам, че на края на всеки пост не е удобно. Реално не искам да ги заменям, да ги намеря, за да мога да добавя нещо външно. Всъщност може и да се разглежда като замяна…

    Модератор Ivaylo Draganov

    (@dragunoff)

    Можеш да ги вкараш директно в публикацията, чрез shortcode, а може и да ги сложиш след публикацията (в самия шаблон) и да ги наместиш преди второто <h2> чрез JavaScript.

    Първия метод е хубав, понеже ще ти бъдат на място, но пък лошото е, че ще са вграедени там за постоянно. Втория метод е по-гъвкав, но пък ще тежи повече на самата страница.

    Хм, това се сещам…

    За да използвам shortcode, трябва да редактирам всички постове, нали? Не ми се иска да е с JavaScript.
    Харесвам си идеята при показване да заменя h2-то … мисля си, че ще стане долу-горе лесно –> прочита поста, един if, дали h2 се среща повече от 1 път, ако да – стринг реплейс с див 1, див 2 и h2 и толкова. Не мислиш ли, че ще стане по модела на <!–more–> линка, който по-горе сложих?

    Модератор Ivaylo Draganov

    (@dragunoff)

    Сигурно ще стане, но не мога да кажа нищо повече, защото не ми достигат познанията по РНР =)

    ще пробвам, ако успея …. дано успея, пък после ще му мислим 🙂

Виждате 6 отговора - 1 от 6 (от 6 общо)
  • Темата ‘замяна на тег при показване на пост’ е затворена за нови отговори.