#!/bin/sed -f
1,/^#include/ {
/^#include/i\
#include "newfile.h"
}
Как работает этот скрипт: для строк между 1 и первым #include
(после строки 1), если строка начинается с #include
, затем добавьте указанную строку.
, если первая #include
находится в строке 1, то обе строки 1 и следующая последующая #include
будут иметь добавленную линию. Если вы используете GNU sed
, у него есть расширение, в котором 0,/^#include/
(вместо 1,
) поступит правильно.
Как я уже говорил в комментариях
-Как функция gettarget может получить доступ к своему брату-члену класса target? - Не может, в WordPress страница не имеет было завершено, когда вызывается [ваш шорткод]. Кроме того, в шорткод передается больше только контента внутри открытого и закрытого шорткода
[start]content[/start]
, ни один из внешнего контента не доступен (без использования javascript)Вы можете использовать фильтр, такой как
blockquote>add_filter( 'the_content', 'filter_function_name' )
a регулярное выражение/\[gettarget\]/
и то, что не является коротким кодом[gettarget]
, поскольку WP оставляет их, если они не являются реальными короткими кодами. И тогда, когда у вас есть полный контент в ваших руках, вы можете получить доступ к тому, что вы хотите в DOM. и т. д. и т. д.И этот ответ казался таким же хорошим ответом, как и любой другой, поэтому ...
Примерно так:
add_filter( 'the_content', 'filter_function_name' ); function filter_function_name($content){ //if no [gettarget] bail if(false === strpos($content,'[gettarget]')) return $content; $doc = DOMDocument::loadHTML($content); $xpath = new DOMXpath($doc); var_dump($xpath); //for example remove [gettarget] our not shortcode, shortcode $content = preg_replace('/\[gettarget\]/', '', $content); return $content; }
Я когда-либо использовал Dom Document только один раз (потом я узнал о PHPQuery и больше никогда не смотрел на него). Но, таким образом, вы не удваиваете загрузку страницы, я действительно не уверен, что вы получаете от этого
$doc->loadHTMLFile(
изнутри WordPress. Может быть, просто файл шаблона или что-то в этом роде?Как я уже говорил в комментариях
-Как функция gettarget может получить доступ к своему брату-члену класса target? - Не может, в WordPress страница не имеет было завершено, когда вызывается [ваш шорткод]. Кроме того, в шорткод передается больше только контента внутри открытого и закрытого шорткода [111], ни один из внешнего контента не доступен (без использования javascript)
Вы можете использовать фильтр, такой как [112] a регулярное выражение [113] и то, что не является коротким кодом [114], поскольку WP оставляет их, если они не являются реальными короткими кодами. И тогда, когда у вас есть полный контент в ваших руках, вы можете получить доступ к тому, что вы хотите в DOM. и т. д. и т. д.
blockquote>И этот ответ казался таким же хорошим ответом, как и любой другой, поэтому ...
Примерно так:
[110]Я когда-либо использовал Dom Document только один раз (потом я узнал о PHPQuery и больше никогда не смотрел на него). Но, таким образом, вы не удваиваете загрузку страницы, я действительно не уверен, что вы получаете от этого [115] изнутри WordPress. Может быть, просто файл шаблона или что-то в этом роде?
Как я уже сказал выше, я знаю, что
content
- это то, что WordPress собирается выложить на странице. Не говоря уже о том, что я понятия не имею, как бы вы внесли какие-либо изменения в вывод по сравнению с тем, как это было у вас. Таким образом, вы можете просто изменить содержимое и вернуть его, и оно будет изменено.-note- Последнее, это была минута, но если я помню, если у вас есть что-то вроде шорткода
[gettarget]
, но у вас нет шорткода для него, он просто остается в контенте. Если это правильно, то, что я сказал выше, должно быть довольно близко. Мы можем использовать это в наших интересах и сделать так, чтобы это выглядело как шорткод внутри административной области WP и в выводе (удалив его).Я думал о том, чтобы сделать это с помощью JavaScript, но, увы, мне лень вкладывать в это столько ...
1118 В любом случае, надеюсь, это поможет.SERVER['SCRIPT_NAME'])
Как я уже сказал выше, я знаю, что
content
- это то, что WordPress собирается выложить на странице. Не говоря уже о том, что я понятия не имею, как бы вы внесли какие-либо изменения в вывод по сравнению с тем, как это было у вас. Таким образом, вы можете просто изменить содержимое и вернуть его, и оно будет изменено.-note- Последнее, это была минута, но если я помню, если у вас есть что-то вроде шорткода
[gettarget]
, но у вас нет шорткода для него, он просто остается в контенте. Если это правильно, то, что я сказал выше, должно быть довольно близко. Мы можем использовать это в наших интересах и сделать так, чтобы это выглядело как шорткод внутри административной области WP и в выводе (удалив его).Я думал о том, чтобы сделать это с помощью JavaScript, но, увы, мне лень вкладывать в это столько ...
1118 В любом случае, надеюсь, это поможет.