Skip to content

Instantly share code, notes, and snippets.

View jacobdubail's full-sized avatar

Jacob Dubail jacobdubail

View GitHub Profile
@jacobdubail
jacobdubail / main.yml
Last active October 14, 2023 00:17 — forked from ajmorris/main.yml
Simple workflow file for Github Actions to deploy your WordPress theme
# This is a basic workflow to help you get started with Actions
# The name of the script you are intending to run.
name: Deployment
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch.
# I left my branch name as main, but you could change this to whatever your branches are called.
push:
@jacobdubail
jacobdubail / js
Last active August 10, 2021 20:44
OrderDesk API Client in JavaScript
const OrderDeskApiClient = {
storeId: process.env.ORDERDESK_STORE_ID,
apiKey: process.env.ORDERDESK_API_KEY,
baseUrl: 'https://app.orderdesk.me/api/v2',
lastStatusCode: '',
get: async (url = '', data = null) => {
return OrderDeskApiClient.go('GET', url, data)
},
post: async (url, post = null) => {
@jacobdubail
jacobdubail / wc_order_key.php
Last active October 12, 2020 21:14
output order receipt link on WooCommerce admin order screen
add_action( 'woocommerce_admin_order_data_after_billing_address', function ($order) {
if ( current_user_can('manage_options') ) {
echo '<p><strong>'. __("Order Key", "woocommerce").':</strong> <input type="text" readonly value="/checkout/order-received/' . $order->id . '/?key=' . $order->get_order_key() . '" /></p>';
}
}, 10, 1);
@jacobdubail
jacobdubail / block_template_by_page_template.php
Created May 21, 2020 20:42
Block Template for a Page Template in Gutenberg
<?php
function pls_maybe_add_template() {
if ( ! is_admin() || ! isset( $_GET['post'] ) || 'template-bridge.php' !== get_page_template_slug($_GET['post']) ) {
// This is not the post/page we want to limit things to.
return false;
}
$post_type_object = get_post_type_object( 'page' );
$post_type_object->template = array(
array( 'core/heading', array(
<?php
$cart_update_string = "https://" . $store_domain . "/cart?cart=update&fcsid=" . $fcsid . "&output=json";
// loop our matches and rebuild query
foreach ( $matched_products as $key ) {
$item = $cart_contents['items'][$key];
$item_id = $item['id'];
$index = $key+1;
<?php
$cart_update_string = "https://" . $store_domain . "/cart?cart=update&fcsid=" . $fcsid . "&output=json";
// loop our matches and remove
foreach ( $matched_products as $key ) {
$item = $cart_contents['items'][$key];
$item_id = $item['id'];
// starts at 0, so increment.
$index = $key+1;
@jacobdubail
jacobdubail / js
Created November 4, 2019 23:28
add service plan at checkout
<script>
function checkServices() {
var physical = "Physical_Products",
services = "Subscriptions",
//services_index = [],
//physical_index = [],
basic_service = "305-2000-01",
deluxe_service = "305-2000-02",
addon_service = "305-2000-03",
basic_item_id = 0,
@jacobdubail
jacobdubail / ga_ecommerce.js
Created July 10, 2018 22:16
GA Ecommerce Snippet
<script type="text/javascript">
ga('require', 'ecommerce');
ga('ecommerce:addTransaction', {
'id': '1234', // Transaction ID. Required.
'affiliation': 'Acme Clothing', // Affiliation or store name.
'revenue': '11.99', // Grand Total.
'shipping': '5', // Shipping.
'tax': '1.29' // Tax.
});
@jacobdubail
jacobdubail / php
Last active February 20, 2019 22:48
Absorb WordPress SSO
<?php
Class AbsorbLMS {
//protected private key from Absorb Admin
protected $private_key = "*******";
//admin login creds to Absorb
protected $absorb_api_url = "https://ACOUNTNAME.myabsorb.com/api/Rest/v1/";
protected $external_login_url = "https://ACOUNTNAME.myabsorb.com/account/externallogin";
@jacobdubail
jacobdubail / php
Created January 11, 2018 14:14
FoxyShop VAT Pricing
<?php
add_action('admin_menu', 'jtd_vat_settings_menu');
function jtd_vat_settings_menu() {
add_submenu_page('edit.php?post_type=foxyshop_product', __('VAT Display', 'foxyshop'), __('VAT Display', 'foxyshop'), apply_filters('foxyshop_settings_perm', 'manage_options'), 'foxyshop_vat_display', 'foxyshop_vat_display');
}
function foxyshop_vat_display() {
global $foxyshop_settings, $foxycart_version_array;
if (!defined('FOXYSHOP_TEMPLATE_PATH')) define('FOXYSHOP_TEMPLATE_PATH',STYLESHEETPATH);
if (isset($_GET['saved'])) echo '<div class="updated"><p>' . __('Your Settings Have Been Saved.', 'foxyshop') . '</p></div>';