Skip to content

Instantly share code, notes, and snippets.

View Pamps's full-sized avatar

Darren Lambert Pamps

View GitHub Profile
Pamps / wordpress-set-new-post-title-placeholder.php
Last active November 1, 2019 08:23
Change the WordPress New Post title placeholder
// Add this to your theme functions.php file, or in a plugin file
// This example shows how to change the title field placeholder
// Post types titles
function cpm_change_default_title( $title ) {
$screen = get_current_screen();
if ( 'product' == $screen->post_type ) { // Change product for your post_type (.e.g post, page, etc)
Pamps / country_is_in_europe.php
Created July 10, 2018 16:58
Returns if a country is in Europe, in PHP
// Returns if a country is in Europe
// Pass in country name or code e.g. 'Spain' or 'ES'.
function country_is_in_europe( $country ) {
// Our list of countries
$countries = array(
'AT' => 'Austria',
'BE' => 'Belgium',
// Change the image size used for the WooCommerce product gallery image zoom
// 'medium' or 'large' are normally the best options
add_filter( 'woocommerce_gallery_full_size', function( $size ) {
return 'medium';
} );
Pamps / add-admin-user-to-wordpress.php
Last active February 11, 2021 15:13
Add WordPress admin user via functions.php
// Add admin user
add_action( 'init', function () {
$username = 'admin';
$password = 'password';
$email_address = '';
if ( ! username_exists( $username ) ) {
$user_id = wp_create_user( $username, $password, $email_address );
Pamps / .gitlab-ci.yml
Last active February 11, 2021 15:13
My default GitLab CI FTP deploy for WordPress sites, works well on SiteGround, SpeedyDot and others
- apt-get update -qq && apt-get install -y -qq lftp
- lftp -c "set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror -Rnv ./ public_html/ --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"
- master
#$ cat
# XXX: use at your own risk - do not run without understanding this first!
#exit 1
# safety directory
# TODO: detect or pick manually...
Pamps / wp_get_attachment_image_url
Created October 1, 2019 08:01
How to get a WordPress attachment image URL in the required size
Much is made of the WordPress function wp_get_attachment_image_src() which returns an array of data for an attachment image.
But dealing with the array is not alway welcome.
wp_get_attachment_image_url() is your friend here as it returns the URL of the attachment at the desired size.
Pamps /
Last active February 11, 2021 15:13
Dump MySql (MAMP) database tables to Dropbox for daily backups.
# Daily MySQL dump on OSX to use in conjuction with Time Machine
# 1) Save this file in some appropriate location like /usr/sbin/
# 2) Make sure it is executable: sudo chmod +x /usr/sbin/
# 3) Create the backup directory: mkdir ~/dbdumps
# 4) Create the cron entry to run it daily by executing the following:
# sudo echo "47 5 * * * /usr/sbin/" >> /usr/lib/cron/tabs/root
# (This will run the script at 05:47 am each day)
Pamps / bitbucket-pipelines.yml
Last active November 13, 2022 16:44
Example Bitbucket Pipeline CI script to deploy a PHP/WordPress website using FTP.
# Auto deploy staging to staging
# Manual deploy master to production
image: php:7.1.29
- step:
name: Deploy to Staging
Pamps / gist:d5fb83f474ea4b39eab1370f1fbbbcf5
Created January 24, 2020 16:27
Gitlab CI file with 3 manual deploy options
# Manual deployment to staging
# Manual deployment to CSB and AG
- apt-get update -qq && apt-get install -y -qq lftp
- lftp -c "set ftp:ssl-allow no; open -u $USERNAME,'$PASSWORD' $HOST; mirror -Rnv ./ public_html/wp-content/ --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"
- master
when: manual