Функция WordPress: использование str_replace для удаления CSS в голове - PullRequest
0 голосов
/ 12 августа 2011

Я сейчас пытаюсь удалить / прокомментировать разметку в разделе заголовка WordPress.

Вот моя функция.

function strip_style() { ?>
    <?php

    $commented_style = str_replace("<link rel="stylesheet" type="text/css" href="http://localhost/wp-content/themes/headway-208/style.css" />", "<!-- <link rel="stylesheet" type="text/css" href="http://localhost/wp-content/themes/headway-208/style.css" /> -->", $rawstring);

    echo commented_style;

    ?>
<?php
}

add_action('wp_head', 'strip_style', 1);

Я также не могу использовать wp_enqueue_style и wp_deregister_style, поскольку строка, которую я пытаюсь удалить, жестко запрограммирована в родительской теме.

В основном я хочу отключить загрузку по умолчанию css (styles.css), чтобы я мог использовать свой собственный стиль и не переопределять стиль по умолчанию.

Пожалуйста, посоветуйте, если мой подход использования str_replace () хорош или нет. Можете ли вы предложить альтернативу?

Спасибо!

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Просто скопируйте файл header.php в свою дочернюю тему и отредактируйте то, что вы не хотите отображать. Если у вас есть header.php как в дочерней, так и в родительской теме, будет использоваться файл в дочерней теме. Это относится ко всем файлам. Если вы хотите отредактировать любой из родительских файлов тем, просто скопируйте его в дочернюю тему и отредактируйте их там.

Что касается css, то в первой главе будет связана родительская тема style.css, а под ней - дочерняя тема style.css, поэтому каждое правило с той же спецификой в ​​дочерней теме будет переопределять правило родительской темы, нет необходимости в мамбо -джамбо грязная магия.

0 голосов
/ 12 августа 2011

Может быть, я не до конца понимаю, но почему бы вам просто не скопировать существующую папку темы, не переименовать ее и не создать собственную тему, стерев файл style.css и начав заново, как хотите?

В любом случае, если вы должны выполнить str_replace (), ваш код неверен.Во-первых, ваши PHP-теги повсюду, и вы не можете их вкладывать.Во-вторых, ваши строки не будут анализироваться должным образом, потому что вы используете двойные кавычки внутри строки в двойных кавычках.Исправлено и упрощено:

<?php

function strip_style() {
    $link = '<link rel="stylesheet" type="text/css" href="http://localhost/wp-content/themes/headway-208/style.css" />';
    echo str_replace($link, '<!-- ' . $link . '-->', $rawstring);

    // But where does $rawstring come from?
}

?>

.

<?php

    add_action('wp_head', 'strip_style', 1);

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...