Макет для wp_list_bookmarks - PullRequest
2 голосов
/ 24 марта 2011

Несколько человек коснулись этого, но никто, кажется, прямо не спросил об этом.Я пытаюсь предоставить пользовательское приложение списка ссылок на боковой панели шаблона для клиента.Кажется, что очень мало настроек макета элемента списка ссылок.Например, я хотел бы показать заголовок перед изображением и обернуть весь лот (заголовок, изображение и описание) в якорь.

Я только начал играть с файлом functions.php, ноне могу решить эту проблему.У кого-нибудь есть функция примера, которую я мог бы использовать для этого?

Приветствия,

T

1 Ответ

1 голос
/ 24 марта 2011

Если вы имеете в виду список закладок?

Вы вызываете фильтр, например:

add_filter($this->_filter, array($this,'ReplaceAll'), 9);  (in a class)

or

add_filter('some_filter', 'ReplaceAll', 9); (not in a class)

Где $ this-filter - ваш фильтр, например, «bookmark_list» и «ReplaceAll» -функция, которую вы напишите.Смотрите: http://codex.wordpress.org/Plugin_API/Filter_Reference и проверьте главу «Фильтры блогролла» для большинства доступных фильтров.

затем вы можете написать свою функцию 'ReplaceAll', как обычно, например,

function ReplaceAll($something_that_comes_in_from_the_filter)
{
    // do stuff e.g. $something_that_comes_in_from_the_filter =  
$something_that_comes_in_from_the_filter . ' hello world';

    return $something_that_comes_in_from_the_filter;
} 

С точки зрения функциональности внутри этой функции вы можете определить, например, регулярное выражение:

const HTML_REF_REGEX2 = '/<a(.*?)href=[\'"](.*?)[\'"](.*?)>(.*?)<\\/a>/i';

и затем перетасуйте детали с помощью совпадений, например:

return '<a' . $arrUrlMatches[1] . 'href="' . $arrUrlMatches[2]
. '"' . $arrUrlMatches[3] .'>' . 'hello world'.  $arrUrlMatches[4] . '</a>';

(см.: http://php.net/manual/en/function.preg-match.php о том, как это работает)

Таким образом, вы можете сделать так, чтобы это выглядело любымкак хочешь.

...