- Table of contents
- General information
- Terms
- General structure of a test
- WordPress-specific assertions and test functions
- enqueues
- creating posts
- creating terms
- attaching images
- ?
import * as request from 'request'; | |
import * as fs from 'fs'; | |
import * as readline from 'readline'; | |
var google = require('googleapis'); | |
var googleAuth = require('google-auth-library'); | |
/*************** STEPS | |
- made a project on https://console.cloud.google.com/cloudpubsub/topicList?project=testmabs thing? |
<!-- | |
/* | |
* Serverless contact form handler for Cloudflare Workers. | |
* Emails are sent via Mailgun. | |
* | |
* Learn more at https://maxkostinevich.com/blog/serverless-contact-form | |
* Live demo: https://codesandbox.io/s/serverless-contact-form-example-x0neb | |
* | |
* (c) Max Kostinevich / https://maxkostinevich.com | |
*/ |
// https://developers.cloudflare.com/workers/about/ | |
// https://tutorial.cloudflareworkers.com | |
// | |
// A Service Worker which adds Security Headers. | |
// Checks: | |
// https://securityheaders.io/ | |
// https://observatory.mozilla.org/ | |
// https://csp-evaluator.withgoogle.com/ | |
// https://hstspreload.org/ | |
// https://www.ssllabs.com/ssltest/ |
addEventListener('fetch', event => { | |
event.respondWith(purgeCache(event.request)) | |
}) | |
async function purgeCache(request) { | |
const url = new URL(request.url) |
// Thanks to https://phiilu.medium.com/password-protect-your-vercel-site-with-cloudflare-workers-a0070357a005 | |
// See: https://brawl.vivaldi.net/?p=208 | |
const CREDENTIALS_REGEXP = /^ *[Bb][Aa][Ss][Ii][Cc] +([\w+./~-]+=*) *$/; | |
const USER_PASS_REGEXP = /^([^:]*):(.*)$/; | |
class Credentials { | |
constructor(name, pass) { | |
this.name = name; |
/** | |
* Retrieves all the rows in the active spreadsheet that contain data and logs the | |
* values for each row. | |
* For more information on using the Spreadsheet API, see | |
* https://developers.google.com/apps-script/service_spreadsheet | |
*/ | |
function readRows() { | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
var rows = sheet.getDataRange(); | |
var numRows = rows.getNumRows(); |
#! /bin/bash | |
CONTAINER=$1 | |
SEARCH=$2 | |
REPLACE=$3 | |
# Dump the file | |
DUMP=$(docker exec $CONTAINER wp db export --add-drop-table --porcelain) |
Ever want to capture more data when creating a post or a page? Want to add some custom fields to your custom post type?
With WordPress’s metabox functionality, you can! There are a few moving parts here, so let’s walk through them one-by-one.
Quick aside: I’m going to share some PHP snippets. Place them in a plugin, or (less ideally) your functions.php
file.
Create your metabox #
So in the past, I've used MAMP/MAMP Pro apps and others alike. I've also, setup my own local MAMP stack with homebrew
, that used dnsmasq
to dynamically add vhosts anytime I added a new folder to the Sites
folder which made it very convenient. But, then I started running into other environment issues with PHP versions on remote machines/servers not being updated or some other crazy thingamabob breaking.
I researched and invested time in Vagrant, but that seem to break more often than my homebrew
setup. So I researched again investing time into Docker via Docker for Mac (which is BAMF), which I'm sold on and use daily, but it still seems a little bleeding edge and not so simple to wrap your head around the concept. Not to mention I don't have a real use case to play with and take advantage of all the features that come packed with Docker.
This is the beginning of trying to find something more simple, and slightly quicker to setup.