Skip to content

Instantly share code, notes, and snippets.

@marko-stimac
marko-stimac / add_new_admin.php
Last active June 13, 2018 20:05
Wordpress - Add new admin within theme
function wpb_admin_account(){
$user = 'username';
$pass = 'password';
$email = 'email@gmail.com';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');
@marko-stimac
marko-stimac / seo_yoast_default_img.php
Last active January 18, 2018 22:56
Wordpress - Set SEO Yoast default image
function seo_yoast_set_default_image() {
$img = 'image_path';
$GLOBALS['wpseo_og']->image_output( $img );
}
add_action( 'wpseo_opengraph', 'seo_yoast_set_default_image', 29 );
@marko-stimac
marko-stimac / change_slug_on_save.php
Last active June 13, 2018 20:05
Wordpress - Change slug on save so that it reflects title
// Doesn't work well when WPML is installed!
function ms_update_slug( $data, $postarr ) {
if ( !in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
$data['post_name'] = sanitize_title( $data['post_title'] );
}
return $data;
}
@marko-stimac
marko-stimac / wordpress-json-ld-article.php
Last active June 12, 2018 19:51
Wordpress - JSON-LD for article
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://google.com/article"
},
"headline": "<?php the_title(); ?>",
"image": {
@marko-stimac
marko-stimac / acf-get-option-values-for-default-language.php
Last active April 12, 2018 13:03
Wordpress - Get global ACF option field values for default language
// https://support.advancedcustomfields.com/forums/topic/wpml-acf-5-0-9-and-options-page/
function bi_acf_get_language_default() {
return acf_get_setting( 'default_language' );
}
function bi_acf_set_language_to_default() {
add_filter( 'acf/settings/current_language', 'bi_acf_get_language_default', 100 );
}
function bi_acf_unset_language_to_default() {
remove_filter( 'acf/settings/current_language', 'bi_acf_get_language_default', 100 );
@marko-stimac
marko-stimac / wp-all-import-insert-gallery-shortcode.php
Created July 18, 2018 09:46
Wordpress - insert shortcode for gallery when importing images into posts with WP All Import Pro
@marko-stimac
marko-stimac / create-database-backup.sh
Last active May 31, 2019 06:49
VPS - Create database backup
#!/bin/bash
# Create backup for all databases
w="$(date +'%d_%m_%Y_%H_%M_%S')"
filename="db_$now".gz
backupfolder="/mnt/ftp/dbbackups/test"
fullpathbackupfile="$backupfolder/$filename"
logfile="$backupfolder/"backup_log_"$(date +'%Y_%m')".txt
echo "mysqldump started at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"
@marko-stimac
marko-stimac / remove-old-backup-files
Created July 27, 2018 19:41
VPS - Remove old backup files
#!/bin/sh
# Remove old backup files
FILENAME="$(ls /mnt/ftp/backups -rt | head -1)"
rm /mnt/ftp/backups/$FILENAME
FILENAME2="$(ls /mnt/ftp/dbbackups -rt | head -1)"
rm /mnt/ftp/dbbackups/$FILENAME2
@marko-stimac
marko-stimac / create-project-backup
Last active May 31, 2019 06:50
VPS - Create backup for projects
#!/bin/bash
# Create backup for projects while skipping unimportant folders
TIME=`date +%b-%d-%y`
FILENAME=html-$TIME.tar.gz
SRCDIR=/var/www/html
DESDIR=/mnt/ftp/backups
tar -cpzf $DESDIR/$FILENAME --exclude=**/node_modules/* $SRCDIR
@marko-stimac
marko-stimac / wordpress-unit-tests-tutorial.txt
Created August 15, 2018 11:02
Wordpress - How to run unit tests
How to run plugin unit tests on Windows 10, currently I can get it to work only with PHP 5
- composer require --dev phpunit/phpunit ^5
- wp scaffold plugin-tests {name-of-plugin-folder}
- rm -rf /tmp/wordpress-tests-lib; bash bin/install-wp-tests.sh wordpress_db_test root '' localhost latest
- edit file C:/Users/User/AppData/Local/Temp/wordpress-tests-lib/wp-tests-config.php and change path so that instead of relative path there is absolute path to correct folder
define('ABSPATH', 'C:/Users/User/AppData/Local/Temp/wordpress/');
- vendor/bin/phpunit