Думаю, про такой метод, как “подмена полей” все слышали. Ну, если и не все, то очень многие. Достаточно муторный, но действенный метод. Единственный косяк – с этим методом можно забыть про автоматическое обновление движка. Только вручную и только с повторением этой процедуры после каждого обновления.
как-то обмолвился про несколько иной (хотя и похожий) метод: подмена файлов. Суть в чём? За добавления комментария отвечает файл wp-comments-post.php и спамеры (авто) отправляют запрос именно к нему. Если за комментирование будет отвечать другой файл, то автоспам не пройдёт.
Исходи из этого, есть как минимум два варианта решения. Читать полностью »
Недавно я писал, как можно вывести список подкатегорий одной из категорий в WP. Увы, сегодня обнаружил один косяк в этом алгоритме, из-за которого пришлось перекраивать функцию.
Предположим, у нас есть следующая структура категорий: Читать полностью »
Понадобилось мне тут вывести список подкатегорий одной из категорий. Начал шерстить кодекс. Естественно, первым делом полез в . Достаточно муторная функция с кучей вводных параметров. Но таки разобрался, вывел свои подкатегории. Сижу, смотрю и понимаю, что функция возвращает html-список, что меня совершенно не устраивает: разбивать эту здоровенную строку на составные и вычищать все тэги – да ну его на фиг.
Следующая функция, которая мне приглянулась – . В принципе, упрощённый вариант первой, но… Где-то косяк в ней с вводом родительской категории. Возвращает массив с параметрами первой же категории. Пришлось забросить и этот вариант.
Третий вариант – полное рукоблудство, но он работает.
1
2
3
4
5
6
7
8
9
10
11
12
function my_subcats ($parent){//$parent содержит название родительской категории$parent_id= get_cat_id($parent);//получаем id родительской категории$all_cats_ids= get_all_category_ids();//получаем id ВСЕХ категорийforeach($all_cats_idsas$cat_id){if(cat_is_ancestor_of($parent_id,$cat_id)){//проверяем, является ли категория с cat_id дочерней по отношению к $parent_id$child_cats[]= get_cat_name($cat_id);//если дочерняя, то добавляем id в массив}}sort($child_cats);return$child_cats;//возвращаем сортированный массив названий подкатегорий}
И вот над этим десятком строк пришлось биться три вечера.
Наткнулся сейчас на весьма занятную функцию WP: wp_generate_password. Содержится она в файлике /wp-includes/pluggable.php Более подробно содержимое этого файлика рассмотрено в , но сама функция не расписана. Потому полез изучать код.
Функция генерирует пароли и имеет два входных параметра (второй не обязателен): количество знаков в пароле (integer) и использование спецсиволов в пароле (boolean).
Использование: wp_generate_password ( 10, true ) – генерирование десятизначного пароля со спецсимволами.
Возвращает, естественно, string.
Сама функция:
1
2
3
4
5
6
7
8
9
10
function wp_generate_password($length= 12,$special_chars=true){$chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';if($special_chars)$chars.='!@#$%^&*()';$password='';for($i=0;$i<$length;$i++)$password.=substr($chars, wp_rand(0,strlen($chars)- 1), 1);return$password;}
Как работает wp_rand – искать не буду: суть ясна и так.
Может, это и правильно, когда хобби не становится основной работой?
Вот сейчас я в свободное время сижу, лабаю себе потихоньку на php в своё собственное удовольствие. Нет никаких ни сроков, ни обязательств. Есть только цель, достижение которой приносит несказанное удовлетворение.
А вот ежели представить, что кодинг для меня станет обязаловкой… Читать полностью »
Помнится, год назад, когда я потихоньку лабал плагин для meantraitors.ru, была у меня мысль прикрутить публикацию поста при добавлении очередного анонса. Т.е., когда анонс концерта добавляется в сводную таблицу (собственно, ради этого всего плагин и писался), то одновременно с этим обновляются новости на главной странице.
Ну, кто меня читал, тот понял, о чём я.
Касалось бы – копеечный вопрос. Документация , всё разжёвано – наливай, да пей читай, да пиши. Не выходит. Хоть ты тресни – не выходит.
Взбесило меня это дико. Перебесился – плюнул на эту затею.
Год спустя Читать полностью »