generated from bisco/codex-bootstrap
feat: add wordpress site variant
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
cd /var/www/html
|
||||
|
||||
if [ "${WP_ENVIRONMENT_TYPE:-local}" = production ]; then
|
||||
admin_password="${WP_ADMIN_PASSWORD:-}"
|
||||
case "$admin_password" in
|
||||
"" | *replace-with*)
|
||||
echo "A non-placeholder WP_ADMIN_PASSWORD is required in production." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
if [ "${#admin_password}" -lt 16 ]; then
|
||||
echo "WP_ADMIN_PASSWORD must contain at least 16 characters in production." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
attempt=1
|
||||
until wp db check >/dev/null 2>&1; do
|
||||
if [ "$attempt" -ge 30 ]; then
|
||||
echo "WordPress database was not ready after $attempt attempts." >&2
|
||||
exit 1
|
||||
fi
|
||||
attempt=$((attempt + 1))
|
||||
sleep 2
|
||||
done
|
||||
|
||||
if ! wp core is-installed; then
|
||||
wp core install \
|
||||
--url="${WP_URL:?WP_URL is required}" \
|
||||
--title="${WP_TITLE:-Azione!Lab}" \
|
||||
--admin_user="${WP_ADMIN_USER:?WP_ADMIN_USER is required}" \
|
||||
--admin_password="${WP_ADMIN_PASSWORD:?WP_ADMIN_PASSWORD is required}" \
|
||||
--admin_email="${WP_ADMIN_EMAIL:?WP_ADMIN_EMAIL is required}" \
|
||||
--skip-email
|
||||
fi
|
||||
|
||||
wp option update home "$WP_URL"
|
||||
wp option update siteurl "$WP_URL"
|
||||
wp option update blogname "${WP_TITLE:-Azione!Lab}"
|
||||
wp option update blogdescription "Il teatro diventa presenza."
|
||||
wp option update timezone_string "Europe/Rome"
|
||||
wp option update permalink_structure '/%postname%/'
|
||||
if ! wp theme is-active azionelab; then
|
||||
wp theme activate azionelab
|
||||
fi
|
||||
|
||||
for sample_id in 1 2; do
|
||||
if ! wp post get "$sample_id" --field=ID >/dev/null 2>&1; then
|
||||
continue
|
||||
fi
|
||||
sample_slug="$(wp post get "$sample_id" --field=post_name)"
|
||||
case "$sample_slug" in
|
||||
hello-world | sample-page)
|
||||
wp post delete "$sample_id" --force >/dev/null
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
ensure_show() {
|
||||
slug="$1"
|
||||
title="$2"
|
||||
excerpt="$3"
|
||||
year="$4"
|
||||
location="$5"
|
||||
order="$6"
|
||||
post_id="$(wp post list --post_type=azl_show --name="$slug" --field=ID --format=ids)"
|
||||
if [ -z "$post_id" ]; then
|
||||
post_id="$(wp post create --post_type=azl_show --post_status=publish --post_name="$slug" --post_title="$title" --post_excerpt="$excerpt" --menu_order="$order" --porcelain)"
|
||||
fi
|
||||
wp post meta update "$post_id" azl_show_year "$year" >/dev/null
|
||||
wp post meta update "$post_id" azl_show_location "$location" >/dev/null
|
||||
}
|
||||
|
||||
ensure_gallery() {
|
||||
slug="$1"
|
||||
title="$2"
|
||||
category="$3"
|
||||
order="$4"
|
||||
post_id="$(wp post list --post_type=azl_gallery --name="$slug" --field=ID --format=ids)"
|
||||
if [ -z "$post_id" ]; then
|
||||
post_id="$(wp post create --post_type=azl_gallery --post_status=publish --post_name="$slug" --post_title="$title" --menu_order="$order" --porcelain)"
|
||||
fi
|
||||
wp post meta update "$post_id" azl_gallery_category "$category" >/dev/null
|
||||
}
|
||||
|
||||
ensure_show "le-cose-che-restano" "Le cose che restano" "Un lavoro corale su memoria, gesti quotidiani e piccoli cambiamenti." "2025" "Teatro di Quartiere" "1"
|
||||
ensure_show "fuori-campo" "Fuori campo" "Storie ai margini della scena che chiedono, finalmente, di essere ascoltate." "2024" "Spazio Scena" "2"
|
||||
|
||||
ensure_gallery "ascolto-e-movimento" "Ascolto e movimento" "Lezioni" "1"
|
||||
ensure_gallery "prima-della-scena" "Prima di entrare in scena" "Backstage" "2"
|
||||
ensure_gallery "spettacolo-finale" "Le cose che restano" "Spettacoli" "3"
|
||||
ensure_gallery "il-gruppo" "Il laboratorio, insieme" "Gruppo" "4"
|
||||
|
||||
wp rewrite flush >/dev/null
|
||||
echo "Azione!Lab WordPress content is ready."
|
||||
Reference in New Issue
Block a user