Вопрос или проблема
У меня есть веб-сайт с более чем 500 страницами. Не спрашивайте почему, но ни на одной из этих страниц нет контента. Я создал макет страницы, который нужно добавить в качестве одного блока WP Bakery, и хочу добавить этот же блок на все страницы, но не вижу способа сделать это, не проходя через каждую страницу и не делая это вручную. Я что-то упускаю?
Вы можете сделать это с помощью WP-CLI. wp post create
создаст запись.
wp post create ./file.txt --post_status=Publish
где file.txt содержит контент, который вы хотите добавить (в формате HTML).
Чтобы отправить это несколько раз, используйте цикл for
.
Вы можете использовать wp post update, если хотите обновить существующую запись.
Первый шаг – проверьте ID вашей записи с помощью
wp post list
Теперь обновите запись
wp post update <ID_1> --status=Publish --from-post=<ID_2>
Где ID_1 – это ID страницы, на которую вы хотите скопировать, а ID_2 – это ID страницы, из которой вы хотите дублировать.
Ответ или решение
Чтобы добавить один и тот же контент на множество страниц вашего сайта на WordPress, не тратя время на ручное редактирование каждой страницы, вы можете воспользоваться WP-CLI, командной строкой для управления WordPress. Следуйте приведенным ниже инструкциям для выполнения этой задачи.
Шаг 1: Установка WP-CLI
Убедитесь, что WP-CLI установлен на вашем сервере. Вы можете проверить это, запустив команду:
wp --info
Если WP-CLI не установлен, следуйте официальной документации по установке для его установки.
Шаг 2: Создание контента
Если у вас есть контент, который вы хотите добавить (например, в HTML-формате), создайте текстовый файл, назовем его content.txt
. Внутри этого файла поместите HTML-код, который вы хотите использовать на всех страницах.
Шаг 3: Получение ID страниц
Чтобы узнать идентификаторы страниц, на которые вы хотите добавить контент, используйте следующую команду:
wp post list --post_type=page --format=ids
Эта команда выведет список всех ID страниц. Сохраните эти идентификаторы.
Шаг 4: Обновление контента на страницах
Теперь вы можете использовать цикл for
для обновления контента всех страниц. Вот пример скрипта на Bash, который вы можете использовать:
for ID in $(wp post list --post_type=page --format=ids); do
wp post update $ID --post_content="$(cat content.txt)" --post_status=publish
done
Этот код пройдет по всем страницам и обновит их содержимое, добавляя контент из файла content.txt
.
Шаг 5: Проверка результатов
После завершения выполнения команд зайдите на ваш сайт и убедитесь, что нужный контент был добавлен ко всем страницам.
Резюме
Используя WP-CLI, вы сможете быстро и эффективно обновить содержимое множества страниц, не прибегая к ручному редактированию. Такой подход не только экономит время, но и минимизирует возможность ошибок, связанных с ручным вводом. Если у вас есть дополнительные вопросы, не стесняйтесь задавать их!