Gerga

Gerga
Рейтинг
94
Регистрация
02.08.2015

сергей-034, ваша ошибка свидетельствует о том, что FirstTest не найден, он может быть не найден если не скомпилирован или находится в другой директории. Ошибка метода main заключается в отстутсвии обязательных параметров String[] args.

seo3_Kul, чисто теоритически можно избавиться от ссылок пагинации вида /page/{num} и сохранить при этом пагинации, но можно же запретить индексирование этих страниц в robots.txt или meta-тегом robots с параметрами noindex nofollow.

---------- Добавлено 04.05.2019 в 10:11 ----------

Pegistrator:
Еще вопрос как массово присвоить рубрики записям, к примеру на сайте 3к записей им не присвоена рубрика их нужно рандомно раскидать по созданым рубрикам

можно так:


$categories = get_categories([ 'hide_empty' => false,
]);

$posts = get_posts([ 'posts_per_page' => -1,
]);

foreach ($posts as $post) {
$key = array_rand($categories);

wp_set_post_categories(
$post->ID,
$categories[$key]
);
}

после выполнения, код нужно удалить.

---------- Добавлено 04.05.2019 в 10:27 ----------

Pegistrator, кстати, если ваш проект имеет посещения, код лучше вставить в отдельный файл и подключить wp, затем уже можно выполнить этот файл и удалить.

CpaMan,

api_key - is available after registration

api_key будет предоставлен после регистрации.

сергей-034, вам нужно исправить ошибку в объявлении метода main и скомпилировать класс, после этого уже можно будет выполнить FirstTest.

cmd:


javac FirstTest.java && java FirstTest

Sitealert, да, можно еще например вставлять в DOM через JS, но код блока все равно будет виден в JS коде.

---------- Добавлено 02.05.2019 в 20:06 ----------

Тут еще такой момент, если реализовать с php, то нельзя будет использовать кэширование в обычном варианте. Но это я так, лишь бы болтнуть, возможно ТСу не нужно кэширование :)

Sitealert, на JS тоже можно в пару строк с помощью localStorage :).


<div id="block" style="display: none;">
hello 1
</div>
<script>
if (true != localStorage.getItem('showed')) {
var block = document.getElementById('block');
block.style.display = 'block';

localStorage.setItem('showed', true);
}
</script>
ChrisKorr:
Как мы выяснили здесь пофиг, сайт будет работать...

Пофиг, если вы не понимаете и программирование это не ваше дело, которым вы зарабатываете. Иначе, если вы понимаете и программирование ваше дело, function_exists как обвертка функций специально ставится или опускается, т.е. используется как инструмент достижения цели, а не тупо везде ставится или не ставится.

---------- Добавлено 15.02.2019 в 10:59 ----------

ChrisKorr:
Что если через год

Детский сад. А что если вы завтра не проснетесь?

---------- Добавлено 15.02.2019 в 11:30 ----------

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

Конечно. Но ошибка

previously declared

может появиться при работе над сайтом, само по себе она не появится. Например если я добавил новую функцию и вижу ошибку previously declared, я просто переименую ее.

SeVlad, где ты тут нашел убеждение? Без разницы, потому что у ТС нету этой политики на проект, т.е. он не понимает зачем ему нужен function_exists как обвертка функции.

Я дал возможность выбора для ТС.

Я не стал убеждать, что function_exists как обвертка функций - это хорошая практика программирования т.к. это не так. function_exists как обвертка функций это необходимость в некоторых случаях, а в некоторых это не нужно делать. Тут я хотел дать понять, что function_exists, в случае родительской темы, используется для реализации отношения "Родитель - Ребенок", а не ради хорошего тона или избежания ошибок. :(

SeVlad:
Но те, которые допускается/возможно поменять - обязательно. Грубо говоря - те, что могут быть кастомизированы юзером для его задач.

Конечно. Я с самого начала с этого и начал.

silicoid, вы правы, function_exists отвечает на вопрос "Существует ли такая функция?", как пользоваться этой информарцией - проектное решение. Но я более чем уверен, что в коде ядра что фреймворков, что CMSок function_exists/class_exists не оборачивает каждую функцию/классс ради хорошего тона программирования или избежания повторного определения - это было бы глупо. Вы только представьте что было был, если бы это делалось. function_exists/class_exists должны оборачивать только те функции и классы для которых это нужно и точка. Если готоворит о WP, в файле wp-includes/pluggable.php можно увидитеь какие функции доступны для переопределения.

Как я использую function_exists в контексте WP:

1. Cвязка плагин - плагин. Отношение композиция. Плагин B вызывает функцию плагина A, тут нужна проверка на наличие вызываемой функции;

2. Связка тема - плагин. Отношение композиция. Тема вызывает функцию плагина, тут нужна проверка на наличие;

3. Связка родительская тема - дочерняя тема. Отношение наследование. Определенные функции родителя должны быть обвернуты function_exists , чтобы ребенок мог их переопределять.

SeVlad:
так именно в дочерних темах это нужно делать.

Это делается в родительских темах.

---------- Добавлено 14.02.2019 в 09:43 ----------

SeVlad:
3. Лучше пусть будут "непонятости",

корпоративное решение, где-то это уместимо, а где-то нет.

Всего: 811