Skip to content

Instantly share code, notes, and snippets.

View irkanu's full-sized avatar

Dylan Ryan irkanu

View GitHub Profile
@irkanu
irkanu / dequeue_learndash.php
Last active February 3, 2021 12:09
Dequeue LearnDash scripts on the homepage.
/**
* Remove the LearnDash related scripts / styles from the homepage.
*/
add_action( 'wp_enqueue_scripts', 'child_manage_learndash_styles', 99 );
function child_manage_learndash_styles() {
// Check if LearnDash exists to prevent fatal errors.
if ( class_exists( 'SFWD_LMS' ) ) {
// Make sure we are on the front page.
@irkanu
irkanu / example.php
Created July 16, 2015 20:33
example post date shortcode filter
add_filter( 'genesis_post_date_shortcode', 'example_custom_date_shortcode' );
function example_custom_date_shortcode( $atts ) {
$custom_date = the_date( 'Y-m-d', '<p class="custom-date">', '</p>' );
$atts = array(
'after' => '',
'before' => '',
'format' => $custom_date,
'label' => '',
@irkanu
irkanu / example.php
Created July 16, 2015 14:49
Trying to redirect to checkout only if the product has a "Trial" category.
add_filter( 'woocommerce_add_to_cart_redirect', 'example_redirect_to_checkout' );
function example_redirect_to_checkout() {
$redirect_url = WC()->cart->get_checkout_url();
if ( is_product() && has_term( 'Trial', 'product_cat' ) ) {
return $redirect_url;
}
}
@irkanu
irkanu / 0-readme
Last active August 29, 2015 14:24
A proposed change for the get_sortable_columns() function in class-wp-plugins-list-table.php.
Currently, WordPress has hooks and filters available to add columns and rows to screens. ie: plugin, post, pages, etc.
Add custom columns hook: manage_{screen->id}_columns
Add custom row data filter: manage_plugins_custom_column
However, to make those columns sortable you must reference the key-value entries manage_{screen->id}_columns
in get_sortable_columns() for the specific screen. ie: class-wp-plugins-list-table.php Line 263 shown below.
The only way to modify that value is to edit core. I believe we should filter the returned array. That will
allow developers to specify whether or not their custom columns are sortable.
@irkanu
irkanu / custom-nav-walker.php
Created July 10, 2015 16:11
Custom Navigation Walker
class primary_navigation_schema_rewrite extends Walker_Nav_Menu {
// add classes to ul sub-menus
function start_lvl( &$output, $depth = 0, $args = array() ) {
// depth dependent classes
$indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent
$display_depth = ( $depth + 1); // because it counts the first submenu as 0
$classes = array(
'sub-menu',
( $display_depth % 2 ? 'menu-odd' : 'menu-even' ),
<?php
/*
Usage:
$frag = new CWS_Fragment_Cache( 'unique-key', 3600 ); // Second param is TTL
if ( !$frag->output() ) { // NOTE, testing for a return of false
functions_that_do_stuff_live();
these_should_echo();
// IMPORTANT
$frag->store();
// YOU CANNOT FORGET THIS. If you do, the site will break.
@irkanu
irkanu / woocommerce-check-admin-access.php
Last active August 29, 2015 14:20
WooCommerce Role Redirect
add_filter( 'woocommerce_prevent_admin_access', 'sfwd_check_admin_access' );
function sfwd_check_admin_access( $redirect_to ) {
$user = wp_get_current_user();
$allowed_roles = array ( 'administrator', 'group_leader' );
if( is_array( $user->roles ) && in_array( $allowed_roles[0] , $user->roles ) || in_array( $allowed_roles[1] , $user->roles ) ) {
return false;
}
@irkanu
irkanu / mongodb.js
Created April 10, 2015 22:34
mongodb example for csc200
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var Cat = mongoose.model('Cat', { name: String });
var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
if (err)
console.log('meow');
});
@irkanu
irkanu / article.server.model.js
Last active June 10, 2016 03:09
working on comment creation v2
'use strict';
/**
* Module dependencies.
*/
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
/**
* Article Schema
@irkanu
irkanu / testing-createComment
Created March 17, 2015 16:50
working on comment creation
/**
* Create a new Comment
*/
exports.create = function(req, res) {
var comment = new Comment(req.body);
comment.poll = req.poll._id;
// if user