Skip to content

Instantly share code, notes, and snippets.

Darren Lambert Pamps

Block or report user

Report or block Pamps

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
Pamps / gist:d5fb83f474ea4b39eab1370f1fbbbcf5
Created Jan 24, 2020
Gitlab CI file with 3 manual deploy options
View gist:d5fb83f474ea4b39eab1370f1fbbbcf5
# 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
Pamps / bitbucket-pipelines.yml
Last active Jan 17, 2020
Example Bitbucket Pipeline CI script to deploy a PHP/WordPress website using FTP.
View bitbucket-pipelines.yml
# Auto deploy staging to staging
# Manual deploy master to production
image: php:7.1.29
- step:
name: Deploy to Staging
Pamps /
Last active Nov 1, 2019
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 / wp_get_attachment_image_url
Created Oct 1, 2019
How to get a WordPress attachment image URL in the required size
View wp_get_attachment_image_url
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.
#$ cat
# XXX: use at your own risk - do not run without understanding this first!
#exit 1
# safety directory
# TODO: detect or pick manually...
Pamps / .gitlab-ci.yml
Last active Dec 6, 2018
My default GitLab CI FTP deploy for WordPress sites, works well on SiteGround, SpeedyDot and others
View .gitlab-ci.yml
- 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
Pamps / add-admin-user-to-wordpress.php
Last active Nov 1, 2019
Add WordPress admin user via functions.php
View add-admin-user-to-wordpress.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 );
View ChangeWooCommerceProductGalleryZoomImageSize.php
// 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 / country_is_in_europe.php
Created Jul 10, 2018
Returns if a country is in Europe, in PHP
View country_is_in_europe.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',
Pamps / wordpress-set-new-post-title-placeholder.php
Last active Nov 1, 2019
Change the WordPress New Post title placeholder
View wordpress-set-new-post-title-placeholder.php
// 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)
You can’t perform that action at this time.