Skip to content

Instantly share code, notes, and snippets.

View leepeterson's full-sized avatar
:octocat:

Lee Peterson leepeterson

:octocat:
View GitHub Profile
@leepeterson
leepeterson / AdminPage.php
Created August 27, 2020 17:33 — forked from carlalexander/AdminPage.php
WordPress and the single responsibility principle
<?php
namespace WPMemeShortcode;
/**
* The WordPress Meme Shortcode admin page.
*
* @author Carl Alexander
*/
class AdminPage
@leepeterson
leepeterson / class-processor.php
Created August 18, 2020 01:13 — forked from carlalexander/class-processor.php
WordPress routing system
<?php
/**
* The Processor is in charge of the interaction between the routing system and
* the rest of WordPress.
*
* @author Carl Alexander <contact@carlalexander.ca>
*/
class Processor
{
# HTTPS Server
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
root /var/www/html;
index index.html index.htm index.php;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
@leepeterson
leepeterson / gist:2a00685bf9ffa0d7d2a421ad841f2598
Created February 21, 2020 06:35 — forked from tomjn/gist:6140909
If you're thinking of using WP_Query, try using this iterator instead, cleaner boilerplate, auto-cleans up after itself
<?php
$pages = new query_loop( array(
'post_type' => 'page'
));
foreach( $pages as $id => $post ) {
the_title();
// etc...
}
@leepeterson
leepeterson / ajax-endpoint.js
Created February 21, 2020 06:33 — forked from jtsternberg/ajax-endpoint.js
Proof of concept for avoiding admin-ajax for ajax callback requests. Also see Thomas Griffin's excellent post: https://thomasgriffin.io/a-creative-approach-to-efficient-and-scalable-wordpress-api-endpoints/ AND Josh Pollock's excellent post: http://torquemag.io/improved-wordpress-front-end-ajax-processing/
jQuery(document).ready(function($){
$('body').on( 'click', '.some-button', function(){
$.ajax( ajax_endpoint_data.api_url, {
type : 'POST',
dataType : 'json',
data : {
action: 'ajax_action',
some_data: 'some_value'
}
@leepeterson
leepeterson / 000-my-supplement.md
Created September 28, 2019 16:07 — forked from aramoudi/000-my-supplement.md
[React snippets] from Udacity Nanodegree #React

Udacity HTML, CSS, JS Style Guide

  • A good function should follow the "DOT" rule:

    • Do One Thing
  • Composition is to combine simple functions to build more complicated ones

    • React builds up pieces of a UI using components.
      • كل فنكشن ترجع UI
  • Declarative code vs imperative code

@leepeterson
leepeterson / path-dispatch.php
Created September 19, 2019 23:42 — forked from mboynes/path-dispatch.php
Path Dispatch
<?php
/**
* Path Dispatch
* =============
*
* Simply and easily add a URL which fires an action, triggers a callback, and/or loads a template.
*
* Basic Usage: at any point before init,
*
* Path_Dispatch()->add_path( array( 'path' => 'some-path', 'callback' => 'some_function' ) );
@leepeterson
leepeterson / restapi.txt
Created July 17, 2019 04:17 — forked from chrismccoy/restapi.txt
WordPress REST API Resources
Allow ALL cross origin requests to WordPress REST API
https://github.com/Shelob9/rest-all-cors
WordPress theme using Rest API and Vue.js
https://github.com/rtCamp/VueTheme
WordPress Post from Front End using REST API and Vue.js
http://jimfrenette.com/2017/01/post-from-front-end-wp-api-vuejs/
An offline-first SPA using Vue.js, the WordPress REST API and Progressive Web Apps
@leepeterson
leepeterson / 01-README.md
Created December 20, 2018 03:18 — forked from petemcw/01-README.md
Mac OS X LEMP Configuration

Mac OS X LEMP Configuration

This Gist is a collection of configuration files that can be used to easily setup a Homebrew-based LEMP stack on Mac OS X.

Files in this repository are numbered and named for ordering purposes only. At the top of each file is a section of metadata that denote what component the file belongs to and the default name & location of the file. Feel free to implement it however you want.

Note: some configuration files have hard-coded paths to my user directory -- fix it for your setup

Setup

@leepeterson
leepeterson / disable_dash.php
Created August 22, 2018 22:40 — forked from bryanwillis/disable_dash.php
Different ways to remove wp dashboard widgets. I think disable_dash.php is considered the best method.
//* REMOVE DASHBOARD WELCOME
remove_action('welcome_panel', 'wp_welcome_panel');
// */
//* REMOVE ADMIN DASHBOARD WIDGETS
// Create the function to use in the action hook
function remove_default_dashboard_widgets() {