View post-list.sql
SELECT | |
cat_posts.ID as ID, | |
cat_posts.post_title as Title, | |
cat_posts.post_date as Published, | |
CASE | |
WHEN cat_term_taxonomy.taxonomy = 'category' THEN GROUP_CONCAT(DISTINCT cat_terms.name SEPARATOR ', ') | |
ELSE "" | |
END | |
as Categories, | |
CASE |
View phpcs-compatibility.sh
# Test site compatibility with a specific version of PHP. | |
# Requires phpcs and PHPCompatibility config installed. | |
phpcs --standard=PHPCompatibility --runtime-set testVersion 7.2 ./ | |
# Configuration I use most: | |
phpcs -p ./ --standard=PHPCompatibility --runtime-set testVersion 7.2 --report-full=~/petitions-7.2.txt --ignore="*.js|css" |
View phpcs-config.sh
# Set multiple install paths for phpcs. | |
# This example adds configs for WordPress, Drupal, and PHP compatibility. | |
# NOTE: change `/full/path/to/` to the path to your composer directory. | |
phpcs --config-set installed_paths "/full/path/to/.composer/vendor/wp-coding-standards/wpcs/,/full/path/to/.composer/vendor/drupal/coder/,/full/path/to/composer/vendor/phpcompatibility/php-compatibility/" | |
# Solves the error: PHPCS Response ERROR: Referenced sniff "WordPress-Extra" does not exist. Run "phpcs --help" for usage information |
View utility.sh
# Crawl a site's public urls to produce a csv list of urls and response codes | |
# This could be reduced into a single command, but I find it helpful to have a list of all urls. | |
# overview: crawl the site to add one url per line in a text file. | |
# NOTE: this must run and complete first. | |
# wget mirror's the site (including static files) | |
# grep files the line with the url on it. | |
# awk grabs the 3rd item (separated by spaces) and writes to urls.txt | |
wget --mirror -p https://domain.com/ 2>&1 | grep '^--' | awk '{ print $3 }' > urls.txt |
View wp-config.php
<?php | |
if( | |
strpos( $_SERVER['HTTP_REFERER'], 'wp-admin' ) === false && | |
strpos( $_SERVER['REQUEST_URI'], 'admin-ajax.php' ) !== false | |
) { | |
header( 'Cache-Control: max-age=30000, must-revalidate' ); | |
header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', strtotime( '+5000 minutes' ) ) . ' GMT' ); | |
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s', strtotime( '-5000 minutes' ) ) . ' GMT' ); | |
header( $_SERVER["SERVER_PROTOCOL"]." 404 Not Found" ); | |
die; |
View functions.php
<?php | |
/** | |
* Force cache headers on 404 pages and prevent WordPress from handling 404s. | |
* | |
* @param bool $preempt determines who handles 404s. | |
* @param obj $wp_query global query object. | |
*/ | |
function change_404_headers( $preempt, $wp_query ) { | |
if ( ! is_admin() && ! is_robots() && count( $wp_query->posts ) < 1 ) { | |
header( 'Cache-Control: max-age=30000, must-revalidate' ); |
View add_fields_to_bundle_programatically.php
<?php | |
/** | |
* This file will demonstrate a method to export fields to code. | |
* You can use this to easily create fields using the UI, export to code | |
* and then use in a custom module. Upon installation of the module | |
* your fields and instances will already be set up. | |
*/ | |
// Create the fields you want using the Drupal UI. | |
// On the same site, go to example.com/devel/php |
View devel-tool-export-field.php
<?php | |
// Found: https://steindom.com/articles/exporting-and-creating-field-definitions-drupal-7 | |
// My new favorite developer because of this, "Now that you understand how it works, let me show you some easy tricks to incorporate this into your development workflow." | |
// Fill in these with your desired field details. | |
$entity_type = ''; | |
$field_name = 'field_'; | |
$bundle_name = ''; | |
$info_config = field_info_field($field_name); |
View gist:d8ad36464aaac432c22322ef9afb99f7
<?php | |
add_filter('the_content','add_my_content'); | |
function add_my_content($content) { | |
$my_custom_text = '<hr><div class="patreonpara"><p><em>PARAGRAPH TEXT</em></p><a href="LINKURL" data-patreon-widget-type="become-patron-button" class="patreonbutton"><img src="FILEURL"></a></div>'; | |
$my_custom_text_other = 'something else'; | |
if(is_single() && !is_home()) { | |
if(in_category('videos')) { | |
$content .= $my_custom_text_other; | |
} else { | |
$content .= $my_custom_text; |
View terminus-quick-tips.sh
# Pantheon's Terminus is awesome, but it can be frustrating when you're first getting used to the syntax. | |
# Some quick tips follow. | |
# | |
# The following applies for Terminus v1.4+ | |
# | |
# When specifying WP CLI commands to run, separate the terminus commands from the wp cli commands with 2 dashes: | |
terminus remote:wp sitename.env -- command-name --flag=value "wp-content/path/to/file-name.ext" | |
# It also helps to wrap paths in double quotes. |
NewerOlder