Skip to content

Instantly share code, notes, and snippets.

View markoheijnen's full-sized avatar

Marko Heijnen markoheijnen

View GitHub Profile
@markoheijnen
markoheijnen / gist:2688460
Created May 13, 2012 13:24
Cool widget class for WordPress
<?php
function rockstars_register_default_widget( $sidebar, $class_name, $settings ) {
global $rockstars_widgets;
if( !is_admin() ) {
return $rockstars_widgets->register_default_widget( $sidebar, $class_name, $settings );
}
return false;
}
@markoheijnen
markoheijnen / gist:2958522
Created June 20, 2012 07:02
Only show users own media files (little bit hackery)
<?php
add_action( 'pre_get_posts', 'media_filter_user' );
add_filter( 'query', 'media_filter_counter' );
// Main stuff that filters it
function media_filter_user( $query ) {
global $pagenow;
if( 'media-upload.php' == $pagenow ) {
@markoheijnen
markoheijnen / gist:3110599
Last active October 7, 2015 05:08
Register widgets to a sidebar by code
<?php
class Rockstars_Widget {
private $custom_settings = array();
public function register_default_widget( $sidebar, $class_name, $settings ) {
global $_wp_sidebars_widgets, $wp_widget_factory;
if( empty( $_wp_sidebars_widgets[ $sidebar ] ) ) {
if( isset( $wp_widget_factory->widgets[ $class_name ] ) ) {
@markoheijnen
markoheijnen / walker-page-parent-only.php
Created October 23, 2012 16:23
This walker for WordPress gives you the ability to only show the items that are selected
<?php
/**
* Create HTML list of pages.
*
* @package WordPress
* @since 2.1.0
* @uses Walker
*/
class Walker_Page_Parent_Only extends Walker {
@markoheijnen
markoheijnen / gist:3965864
Created October 27, 2012 19:46
Get the plugins of an author on WordPress.org
<?php
class Connection_Wordpress {
private $base_url = 'http://api.wordpress.org/';
function __construct() {
add_action( 'widgets_init', array( $this, '_register_widgets' ) );
}
function _register_widgets() {
@markoheijnen
markoheijnen / gist:4236025
Last active October 13, 2015 18:17
WordPress Engine shortcode
<?php
class Marko_Shortcodes {
public function __construct() {
add_shortcode( 'engine_info', array( $this, 'engine_info' ) );
}
public function engine_info( $atts ) {
global $wp_version, $wpdb, $batcache, $wp_object_cache;
@markoheijnen
markoheijnen / gist:4349227
Created December 20, 2012 22:41
Hotfixing bug in wp_save_image() in WordPress 3.5
<?php
add_action( 'wp_ajax_image-editor', 'fix_wp_ajax_image_editor', 0 );
function fix_wp_ajax_image_editor() {
$attachment_id = intval( $_POST['postid'] );
if ( empty( $attachment_id ) || ! current_user_can( 'edit_post', $attachment_id ) )
wp_die( -1 );
@markoheijnen
markoheijnen / gist:4424020
Created January 1, 2013 00:00
Enqueue child and parent style from the WordPress.org theme 'Responsive'
<?php
class Responsive_Childtheme_Enqueue {
public function __construct() {
add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) );
}
public function wp_enqueue_scripts() {
wp_deregister_style( 'responsive-style' );
wp_register_style( 'responsive-style', get_template_directory_uri() . '/style.css', false, get_responsive_template_version() );
@markoheijnen
markoheijnen / gist:4448611
Last active December 10, 2015 14:38
Give wp_nav_menu() a different class then default. In some cases themes style on the class 'menu'. What result in possible weird behavior.
<?php
class Nav_Menu_Widget_Classname {
public function __construct() {
add_action( 'widget_display_callback', array( $this, 'menu_different_class' ), 10, 2 );
}
public function menu_different_class( $settings, $widget ) {
if( $widget instanceof WP_Nav_Menu_Widget )
add_filter( 'wp_nav_menu_args', array( $this, 'wp_nav_menu_args' ) );
@markoheijnen
markoheijnen / gist:4635255
Created January 25, 2013 15:29
Add Photobox support to WordPress galleries
<?php
class Gallery_Javascript {
private $link;
function __construct() {
add_filter( 'post_gallery', array( $this, 'enqueue_script' ), 20, 2 );
add_filter( 'gallery_style', array( $this, 'add_class' ) );
}