mirror of
https://github.com/10h30/ols-docker-env.git
synced 2026-05-12 23:31:35 +09:00
Update LSCWP config
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
TimeZone=America/New_York
|
TimeZone=America/New_York
|
||||||
OLS_VERSION=1.8.2
|
OLS_VERSION=1.8.3
|
||||||
PHP_VERSION=lsphp83
|
PHP_VERSION=lsphp83
|
||||||
MYSQL_DATABASE=wordpress
|
MYSQL_DATABASE=wordpress
|
||||||
MYSQL_ROOT_PASSWORD=password
|
MYSQL_ROOT_PASSWORD=password
|
||||||
|
|||||||
+10
-395
@@ -6,7 +6,7 @@ APP_NAME=''
|
|||||||
DOMAIN=''
|
DOMAIN=''
|
||||||
WWW_UID=''
|
WWW_UID=''
|
||||||
WWW_GID=''
|
WWW_GID=''
|
||||||
WP_CONST_CONF=''
|
WPCONSTCONF=''
|
||||||
PUB_IP=$(curl -s http://checkip.amazonaws.com)
|
PUB_IP=$(curl -s http://checkip.amazonaws.com)
|
||||||
DB_HOST='mysql'
|
DB_HOST='mysql'
|
||||||
PLUGINLIST="litespeed-cache.zip"
|
PLUGINLIST="litespeed-cache.zip"
|
||||||
@@ -81,11 +81,11 @@ set_vh_docroot(){
|
|||||||
if [ "${VHNAME}" != '' ]; then
|
if [ "${VHNAME}" != '' ]; then
|
||||||
VH_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}"
|
VH_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}"
|
||||||
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}/html"
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}/html"
|
||||||
WP_CONST_CONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.ini"
|
WPCONSTCONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.json"
|
||||||
elif [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
elif [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
||||||
VH_ROOT="${DEFAULT_VH_ROOT}/${1}"
|
VH_ROOT="${DEFAULT_VH_ROOT}/${1}"
|
||||||
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
||||||
WP_CONST_CONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.ini"
|
WPCONSTCONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.json"
|
||||||
else
|
else
|
||||||
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -148,398 +148,13 @@ get_theme_name(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
set_lscache(){
|
set_lscache(){
|
||||||
cat << EOM > "${WP_CONST_CONF}"
|
wget -q -O ${WPCONSTCONF} https://raw.githubusercontent.com/litespeedtech/lscache_wp/refs/heads/master/data/const.default.json
|
||||||
;
|
if [ -f ${WPCONSTCONF} ]; then
|
||||||
; This is the predefined default LSCWP configuration file
|
sed -ie 's/"object": .*"/"object": '\"true\"'/g' ${WPCONSTCONF}
|
||||||
;
|
sed -ie 's/"object-kind": .*"/"object-kind": '\"true\"'/g' ${WPCONSTCONF}
|
||||||
; All the keys and values please refer \`src/const.cls.php\`
|
sed -ie 's/"object-host": .*"/"object-host": '\"redis\"'/g' ${WPCONSTCONF}
|
||||||
;
|
sed -ie 's/"object-port": .*"/"object-port": '\"6379\"'/g' ${WPCONSTCONF}
|
||||||
; Comments start with \`;\`
|
fi
|
||||||
;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- General ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_AUTO_UPGRADE
|
|
||||||
auto_upgrade = false
|
|
||||||
; O_API_KEY
|
|
||||||
api_key = ''
|
|
||||||
; O_SERVER_IP
|
|
||||||
server_ip = ''
|
|
||||||
; O_NEWS
|
|
||||||
news = false
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Cache ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
cache-priv = true
|
|
||||||
cache-commenter = true
|
|
||||||
cache-rest = true
|
|
||||||
cache-page_login = true
|
|
||||||
cache-favicon = true
|
|
||||||
cache-resources = true
|
|
||||||
cache-browser = false
|
|
||||||
cache-mobile = false
|
|
||||||
cache-mobile_rules = 'Mobile
|
|
||||||
Android
|
|
||||||
Silk/
|
|
||||||
Kindle
|
|
||||||
BlackBerry
|
|
||||||
Opera Mini
|
|
||||||
Opera Mobi'
|
|
||||||
cache-exc_useragents = ''
|
|
||||||
cache-exc_cookies = ''
|
|
||||||
cache-exc_qs = ''
|
|
||||||
cache-exc_cat = ''
|
|
||||||
cache-exc_tag = ''
|
|
||||||
cache-force_uri = ''
|
|
||||||
cache-force_pub_uri = ''
|
|
||||||
cache-priv_uri = ''
|
|
||||||
cache-exc = ''
|
|
||||||
cache-exc_roles = ''
|
|
||||||
cache-drop_qs = 'fbclid
|
|
||||||
gclid
|
|
||||||
utm*
|
|
||||||
_ga'
|
|
||||||
cache-ttl_pub = 604800
|
|
||||||
cache-ttl_priv = 1800
|
|
||||||
cache-ttl_frontpage = 604800
|
|
||||||
cache-ttl_feed = 604800
|
|
||||||
; O_CACHE_TTL_REST
|
|
||||||
cache-ttl_rest = 604800
|
|
||||||
cache-ttl_browser = 31557600
|
|
||||||
cache-login_cookie = ''
|
|
||||||
cache-vary_group = ''
|
|
||||||
cache-ttl_status = '403 3600
|
|
||||||
404 3600
|
|
||||||
500 3600'
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Purge ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_PURGE_ON_UPGRADE
|
|
||||||
purge-upgrade = true
|
|
||||||
; O_PURGE_STALE
|
|
||||||
purge-stale = true
|
|
||||||
purge-post_all = false
|
|
||||||
purge-post_f = true
|
|
||||||
purge-post_h = true
|
|
||||||
purge-post_p = true
|
|
||||||
purge-post_pwrp = true
|
|
||||||
purge-post_a = true
|
|
||||||
purge-post_y = false
|
|
||||||
purge-post_m = true
|
|
||||||
purge-post_d = false
|
|
||||||
purge-post_t = true
|
|
||||||
purge-post_pt = true
|
|
||||||
purge-timed_urls = ''
|
|
||||||
purge-timed_urls_time = ''
|
|
||||||
purge-hook_all = 'switch_theme
|
|
||||||
wp_create_nav_menu
|
|
||||||
wp_update_nav_menu
|
|
||||||
wp_delete_nav_menu
|
|
||||||
create_term
|
|
||||||
edit_terms
|
|
||||||
delete_term
|
|
||||||
add_link
|
|
||||||
edit_link
|
|
||||||
delete_link'
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- ESI ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_ESI
|
|
||||||
esi = false
|
|
||||||
; O_ESI_CACHE_ADMBAR
|
|
||||||
esi-cache_admbar = true
|
|
||||||
; O_ESI_CACHE_COMMFORM
|
|
||||||
esi-cache_commform = true
|
|
||||||
; O_ESI_NONCE
|
|
||||||
esi-nonce = 'stats_nonce
|
|
||||||
subscribe_nonce'
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Utilities ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
util-heartbeat = true
|
|
||||||
util-instant_click = false
|
|
||||||
util-check_advcache = true
|
|
||||||
util-no_https_vary = false
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Debug ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_DEBUG_DISABLE_ALL
|
|
||||||
debug-disable_all = false
|
|
||||||
; O_DEBUG
|
|
||||||
debug = false
|
|
||||||
; O_DEBUG_IPS
|
|
||||||
debug-ips = '127.0.0.1'
|
|
||||||
; O_DEBUG_LEVEL
|
|
||||||
debug-level = false
|
|
||||||
; O_DEBUG_FILESIZE
|
|
||||||
debug-filesize = 3
|
|
||||||
; O_DEBUG_COOKIE
|
|
||||||
debug-cookie = false
|
|
||||||
; O_DEBUG_COLLAPS_QS
|
|
||||||
debug-collaps_qs = false
|
|
||||||
; O_DEBUG_INC
|
|
||||||
debug-inc = ''
|
|
||||||
; O_DEBUG_EXC
|
|
||||||
debug-exc = ''
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- DB Optm ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_DB_OPTM_REVISIONS_MAX
|
|
||||||
db_optm-revisions_max = 0
|
|
||||||
; O_DB_OPTM_REVISIONS_AGE
|
|
||||||
db_optm-revisions_age = 0
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- HTML Optm ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_OPTM_CSS_MIN
|
|
||||||
optm-css_min = false
|
|
||||||
optm-css_inline_min = false
|
|
||||||
; O_OPTM_CSS_COMB
|
|
||||||
optm-css_comb = false
|
|
||||||
optm-css_comb_priority = false
|
|
||||||
; O_OPTM_CSS_HTTP2
|
|
||||||
optm-css_http2 = false
|
|
||||||
optm-css_exc = ''
|
|
||||||
; O_OPTM_JS_MIN
|
|
||||||
optm-js_min = false
|
|
||||||
optm-js_inline_min = false
|
|
||||||
; O_OPTM_JS_COMB
|
|
||||||
optm-js_comb = false
|
|
||||||
optm-js_comb_priority = false
|
|
||||||
; O_OPTM_JS_HTTP2
|
|
||||||
optm-js_http2 = false
|
|
||||||
; O_OPTM_EXC_JQ
|
|
||||||
optm-js_exc = ''
|
|
||||||
optm-ttl = 604800
|
|
||||||
optm-html_min = false
|
|
||||||
optm-qs_rm = false
|
|
||||||
optm-ggfonts_rm = false
|
|
||||||
; O_OPTM_CSS_ASYNC
|
|
||||||
optm-css_async = false
|
|
||||||
; O_OPTM_CCSS_GEN
|
|
||||||
optm-ccss_gen = true
|
|
||||||
; O_OPTM_CCSS_ASYNC
|
|
||||||
optm-ccss_async = true
|
|
||||||
; O_OPTM_CSS_ASYNC_INLINE
|
|
||||||
optm-css_async_inline = true
|
|
||||||
; O_OPTM_CSS_FONT_DISPLAY
|
|
||||||
optm-css_font_display = false
|
|
||||||
; O_OPTM_JS_DEFER
|
|
||||||
optm-js_defer = false
|
|
||||||
; O_OPTM_JS_INLINE_DEFER
|
|
||||||
optm-js_inline_defer = false
|
|
||||||
optm-emoji_rm = false
|
|
||||||
optm-exc_jq = true
|
|
||||||
optm-ggfonts_async = false
|
|
||||||
optm-max_size = 2
|
|
||||||
optm-rm_comment = false
|
|
||||||
optm-exc_roles = ''
|
|
||||||
optm-ccss_con = ''
|
|
||||||
optm-js_defer_exc = ''
|
|
||||||
; O_OPTM_DNS_PREFETCH
|
|
||||||
optm-dns_prefetch = ''
|
|
||||||
; O_OPTM_DNS_PREFETCH_CTRL
|
|
||||||
optm-dns_prefetch_ctrl = false
|
|
||||||
optm-exc = ''
|
|
||||||
; O_OPTM_CCSS_SEP_POSTTYPE
|
|
||||||
optm-ccss_sep_posttype = ''
|
|
||||||
; O_OPTM_CCSS_SEP_URI
|
|
||||||
optm-ccss_sep_uri = ''
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Object Cache ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
object = true
|
|
||||||
object-kind = false
|
|
||||||
;object-host = 'localhost'
|
|
||||||
object-host = '/var/www/memcached.sock'
|
|
||||||
;object-port = 11211
|
|
||||||
cache_object_port = ''
|
|
||||||
object-life = 360
|
|
||||||
object-persistent = true
|
|
||||||
object-admin = true
|
|
||||||
object-transients = true
|
|
||||||
object-db_id = 0
|
|
||||||
object-user = ''
|
|
||||||
object-pswd = ''
|
|
||||||
object-global_groups = 'users
|
|
||||||
userlogins
|
|
||||||
usermeta
|
|
||||||
user_meta
|
|
||||||
site-transient
|
|
||||||
site-options
|
|
||||||
site-lookup
|
|
||||||
blog-lookup
|
|
||||||
blog-details
|
|
||||||
rss
|
|
||||||
global-posts
|
|
||||||
blog-id-cache'
|
|
||||||
object-non_persistent_groups = 'comment
|
|
||||||
counts
|
|
||||||
plugins
|
|
||||||
wc_session_id'
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Discussion ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_DISCUSS_AVATAR_CACHE
|
|
||||||
discuss-avatar_cache = false
|
|
||||||
; O_DISCUSS_AVATAR_CRON
|
|
||||||
discuss-avatar_cron = false
|
|
||||||
; O_DISCUSS_AVATAR_CACHE_TTL
|
|
||||||
discuss-avatar_cache_ttl = 604800
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Media ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_MEDIA_LAZY
|
|
||||||
media-lazy = false
|
|
||||||
; O_MEDIA_LAZY_PLACEHOLDER
|
|
||||||
media-lazy_placeholder = ''
|
|
||||||
; O_MEDIA_PLACEHOLDER_RESP
|
|
||||||
media-placeholder_resp = false
|
|
||||||
; O_MEDIA_PLACEHOLDER_RESP_COLOR
|
|
||||||
media-placeholder_resp_color = '#cfd4db'
|
|
||||||
; O_MEDIA_PLACEHOLDER_RESP_GENERATOR
|
|
||||||
media-placeholder_resp_generator = false
|
|
||||||
; O_MEDIA_PLACEHOLDER_RESP_SVG
|
|
||||||
media-placeholder_resp_svg = '<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}"><rect width="100%" height="100%" fill="{color}"/></svg>'
|
|
||||||
; O_MEDIA_PLACEHOLDER_LQIP
|
|
||||||
media-placeholder_lqip = false
|
|
||||||
; O_MEDIA_PLACEHOLDER_LQIP_QUAL
|
|
||||||
media-placeholder_lqip_qual = 4
|
|
||||||
; O_MEDIA_PLACEHOLDER_RESP_ASYNC
|
|
||||||
media-placeholder_resp_async = true
|
|
||||||
; O_MEDIA_IFRAME_LAZY
|
|
||||||
media-iframe_lazy = false
|
|
||||||
; O_MEDIA_LAZYJS_INLINE
|
|
||||||
media-lazyjs_inline = false
|
|
||||||
; O_MEDIA_LAZY_EXC
|
|
||||||
media-lazy_exc = ''
|
|
||||||
; O_MEDIA_LAZY_CLS_EXC
|
|
||||||
media-lazy_cls_exc = ''
|
|
||||||
; O_MEDIA_LAZY_PARENT_CLS_EXC
|
|
||||||
media-lazy_parent_cls_exc = ''
|
|
||||||
; O_MEDIA_IFRAME_LAZY_CLS_EXC
|
|
||||||
media-iframe_lazy_cls_exc = ''
|
|
||||||
; O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC
|
|
||||||
media-iframe_lazy_parent_cls_exc = ''
|
|
||||||
; O_MEDIA_LAZY_URI_EXC
|
|
||||||
media-lazy_uri_exc = ''
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Image Optm ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
img_optm-auto = false
|
|
||||||
img_optm-cron = true
|
|
||||||
img_optm-ori = true
|
|
||||||
img_optm-rm_bkup = false
|
|
||||||
img_optm-webp = false
|
|
||||||
img_optm-lossless = false
|
|
||||||
img_optm-exif = false
|
|
||||||
img_optm-webp_replace = false
|
|
||||||
img_optm-webp_attr = 'img.src
|
|
||||||
div.data-thumb
|
|
||||||
img.data-src
|
|
||||||
div.data-large_image
|
|
||||||
img.retina_logo_url
|
|
||||||
div.data-parallax-image
|
|
||||||
video.poster'
|
|
||||||
img_optm-webp_replace_srcset = false
|
|
||||||
img_optm-jpg_quality = 82
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Crawler ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
crawler = false
|
|
||||||
crawler-inc_posts = true
|
|
||||||
crawler-inc_pages = true
|
|
||||||
crawler-inc_cats = true
|
|
||||||
crawler-inc_tags = true
|
|
||||||
crawler-exc_cpt = ''
|
|
||||||
crawler-order_links = 'date_desc'
|
|
||||||
crawler-usleep = 500
|
|
||||||
crawler-run_duration = 400
|
|
||||||
crawler-run_interval = 600
|
|
||||||
crawler-crawl_interval = 302400
|
|
||||||
crawler-threads = 3
|
|
||||||
crawler-timeout = 30
|
|
||||||
crawler-load_limit = 1
|
|
||||||
; O_CRAWLER_SITEMAP
|
|
||||||
crawler-sitemap = ''
|
|
||||||
; O_CRAWLER_DROP_DOMAIN
|
|
||||||
crawler-drop_domain = true
|
|
||||||
crawler-roles = ''
|
|
||||||
crawler-cookies = ''
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- Misc ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; O_MISC_HTACCESS_FRONT
|
|
||||||
misc-htaccess_front = ''
|
|
||||||
; O_MISC_HTACCESS_BACK
|
|
||||||
misc-htaccess_back = ''
|
|
||||||
; O_MISC_HEARTBEAT_FRONT
|
|
||||||
misc-heartbeat_front = false
|
|
||||||
; O_MISC_HEARTBEAT_FRONT_TTL
|
|
||||||
misc-heartbeat_front_ttl = 60
|
|
||||||
; O_MISC_HEARTBEAT_BACK
|
|
||||||
misc-heartbeat_back = false
|
|
||||||
; O_MISC_HEARTBEAT_BACK_TTL
|
|
||||||
misc-heartbeat_back_ttl = 60
|
|
||||||
; O_MISC_HEARTBEAT_EDITOR
|
|
||||||
misc-heartbeat_editor = false
|
|
||||||
; O_MISC_HEARTBEAT_EDITOR_TTL
|
|
||||||
misc-heartbeat_editor_ttl = 15
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- CDN ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
cdn = false
|
|
||||||
cdn-ori = ''
|
|
||||||
cdn-ori_dir = ''
|
|
||||||
cdn-exc = ''
|
|
||||||
cdn-remote_jq = false
|
|
||||||
cdn-quic = false
|
|
||||||
cdn-quic_email = ''
|
|
||||||
cdn-quic_key = ''
|
|
||||||
cdn-cloudflare = false
|
|
||||||
cdn-cloudflare_email = ''
|
|
||||||
cdn-cloudflare_key = ''
|
|
||||||
cdn-cloudflare_name = ''
|
|
||||||
cdn-cloudflare_zone = ''
|
|
||||||
; \`cdn-mapping\` needs to be put in the end with a section tag
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
;; -------------- CDN 2 ----------------- ;;
|
|
||||||
;; -------------------------------------------------- ;;
|
|
||||||
; <------------ CDN Mapping Example BEGIN -------------------->
|
|
||||||
; Need to keep the section tag \`[cdn-mapping]\` before list.
|
|
||||||
;
|
|
||||||
; NOTE 1) Need to set all child options to make all resources to be replaced without missing.
|
|
||||||
; NOTE 2) \`url[n]\` option must have to enable the row setting of \`n\`.
|
|
||||||
; NOTE 3) This section needs to be put in the end of this .ini file
|
|
||||||
;
|
|
||||||
; To enable the 2nd mapping record by default, please remove the \`;;\` in the related lines.
|
|
||||||
[cdn-mapping]
|
|
||||||
url[0] = ''
|
|
||||||
inc_js[0] = true
|
|
||||||
inc_css[0] = true
|
|
||||||
inc_img[0] = true
|
|
||||||
filetype[0] = '.aac
|
|
||||||
.css
|
|
||||||
.eot
|
|
||||||
.gif
|
|
||||||
.jpeg
|
|
||||||
.js
|
|
||||||
.jpg
|
|
||||||
.less
|
|
||||||
.mp3
|
|
||||||
.mp4
|
|
||||||
.ogg
|
|
||||||
.otf
|
|
||||||
.pdf
|
|
||||||
.png
|
|
||||||
.svg
|
|
||||||
.ttf
|
|
||||||
.woff'
|
|
||||||
;;url[1] = 'https://2nd_CDN_url.com/'
|
|
||||||
;;filetype[1] = '.webm'
|
|
||||||
; <------------ CDN Mapping Example END ------------------>
|
|
||||||
EOM
|
|
||||||
|
|
||||||
THEME_PATH="${VH_DOC_ROOT}/wp-content/themes/${THEME}"
|
THEME_PATH="${VH_DOC_ROOT}/wp-content/themes/${THEME}"
|
||||||
if [ ! -f ${THEME_PATH}/functions.php ]; then
|
if [ ! -f ${THEME_PATH}/functions.php ]; then
|
||||||
cat >> "${THEME_PATH}/functions.php" <<END
|
cat >> "${THEME_PATH}/functions.php" <<END
|
||||||
|
|||||||
Reference in New Issue
Block a user