Skip to content

Instantly share code, notes, and snippets.

@oterox
oterox / remove_menu_items.php
Created July 14, 2019 10:28
WordPress Hide admin menu based on user role
<?php
/* check if user is administrator - only show downloads menu if is admin */
add_action( 'admin_init', 'ox_remove_menu_pages' );
function ox_remove_menu_pages() {
global $user_ID;
//if the user is NOT an administrator remove the menu for downloads
if ( !current_user_can( 'administrator' ) ) { //change role or capability here
remove_menu_page( 'edit.php?post_type=wpdmpro' ); //change menu item here
}
}
@oterox
oterox / redirect-emails.php
Created July 14, 2019 09:24
Redirect All Emails on Staging Site
add_filter( 'wp_mail', 'ox_redirect_email_filter', 10, 1 );
function ox_redirect_email_filter( $args ) {
// Get original To address
$original_to = $args['to'];
// Send to developer only
$args['to'] = 'oterox@developer.com';
@oterox
oterox / proveedores_api.php
Created July 13, 2019 09:37
wp_remote_get proveedores API
$response = wp_remote_get( 'http://192.168.1.9:8080/users' );
if ( is_array( $response ) ) {
$body = wp_remote_retrieve_body( $response );
$data = json_decode( $body );
if( ! empty( $data ) ) {
echo '<ul>';
foreach( $data->objects as $product ) {
@oterox
oterox / flex-2-columns.markdown
Last active June 12, 2019 18:00
Flex 2 columns
@oterox
oterox / scroll-anchor.js
Last active May 30, 2019 08:51
Scroll anchor jquery
$(window).load(function(){
// Quitamos el # del hash
var hash = location.hash.replace('#','');
//Si hay un hash es que vamos a mostrar un tipo de pista
if(hash != ''){
//Hacemos scroll al id que viene en el hash y le quitamos 50px para que aparezca debajo del menú
$('html, body').animate({ scrollTop: $('#' + hash).offset().top - 50}, 1000);
}
@oterox
oterox / class-wc-api-custom.php
Last active April 28, 2019 15:18
Cutom API class woocommerce
<?php
class WC_API_Custom extends WC_API_Resource {
protected $base = '/experiences';
public function register_routes( $routes ) {
$routes[ $this->base ] = array(
array( array( $this, 'get_experiences' ), WC_API_Server::READABLE )
);
return $routes;
@oterox
oterox / functions.php
Created April 28, 2019 15:14
WP Rest API cpt
/**
* Add REST API support to an already registered post type.
*/
add_filter( 'register_post_type_args', 'my_post_type_args', 10, 2 );
function my_post_type_args( $args, $post_type ) {
if ( 'destination' === $post_type ) {
$args['show_in_rest'] = true;
@oterox
oterox / rewrites.php
Last active October 10, 2018 11:45
Custom rewrite rules
add_filter('post_type_link', 'ox_post_type_link', 1, 3);
function ox_post_type_link( $link, $post = 0 ){
if ( $post->post_type == 'plan' ){
$terms = wp_get_object_terms( $post->ID, 'tax_destination' );
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
$taxonomy_slug = $terms[0]->slug;
return home_url( $taxonomy_slug .'/' . $post->post_name );
<?php
/**
* Plugin Name: ox Core
* Plugin URI: https://github.com/citricamente/ox-core
* Version: 0.2
* Author: Citricamente
* License: GPL2
* Text Domain: barcelo-core
* Domain Path: /languages
*/
@oterox
oterox / wpinstall.sh
Last active October 9, 2018 05:11
Wordpress install script
#!/bin/sh
#
# Instant Wordpress!
# ------------------
# Script for installing the latest version of WordPress plus a number of useful plugins.
# Source : https://github.com/snaptortoise/wordpress-quick-install
#
#
# Latest version of WP