Skip to content

Instantly share code, notes, and snippets.

@dboutote
dboutote / raw_html.php
Last active February 13, 2016 02:13
Encoding HTML in WordPress Posts: https://wordpress.org/plugins/wp-post-encode/
<?php
function dbdb_quick_encode($content_text) {
$charset = get_bloginfo('charset');
$replaced_text = preg_replace('#(<!--encode-->)(.*?)(<!--/encode-->)#isme', "'$1'.str_replace(array('<!--nextpage-->', '<!--more-->'), array('&lt;!--nextpage--&gt;', '&lt;!--more--&gt;'), '$2').'$3'", $content_text);
foreach($replaced_text as $k => $v ) {
$encoded_text[$k] = str_replace(array('"'),array('"'), $v);
}
return $encoded_text;
};
add_filter('wp_insert_post_data','dbdb_quick_encode', 1, 1);
@dboutote
dboutote / site_setup.php
Created January 11, 2016 04:35
Basic WordPress site set up functionality
<?php
function site_setup() {
// This network uses post thumbnails
add_theme_support( 'post-thumbnails' );
// enable excerpts on page post_types
add_post_type_support('page', 'excerpt');
// Adds RSS feed links to <head> for posts and comments.
add_theme_support( 'automatic-feed-links' );
@dboutote
dboutote / email_filters.php
Created January 11, 2016 04:47
Filtering the WordPress email address
<?php
function site_mail_from(){
$admin_email = get_option('admin_email');
return $admin_email;
};
add_filter('wp_mail_from', 'site_mail_from');
function site_mail_from_name(){
@dboutote
dboutote / post_tags_tax_fix.php
Last active January 11, 2016 04:51
Instruct WordPress to search on all post types when doing a post_tag taxonomy query.
<?php
function post_type_tags_fix($request) {
if ( isset($request['tag']) && !isset($request['post_type']) )
$request['post_type'] = 'any';
return $request;
};
add_filter('request', 'post_type_tags_fix');
@dboutote
dboutote / category_tax_fix.php
Created January 11, 2016 04:51
Instruct WordPress to search on all post types when doing a category taxonomy query.
<?php
function post_type_category_fix($request) {
if ( isset($request['category_name']) && !isset($request['post_type']) )
$request['post_type'] = 'any';
return $request;
};
add_filter('request', 'post_type_category_fix');
<?php
/**
* Filter the terms query SQL clauses.
*
* @see 'terms_clauses' filter in get_terms() wp-includes/taxonomy.php
*
* @since 0.1.0
*
* @todo add filter for $allowed_orderby_keys
@dboutote
dboutote / edit-tags.js
Last active February 20, 2016 18:22
Removes link around locked tags; removes <span> from title attr. term_name filter.
( function ($) {
'use strict';
var locked_tags = $('table.tags .dashicons-lock').parents('a.row-title');
locked_tags.contents().unwrap().parent().wrapInner('<span class="row-title"></span>');
locked_tags.attr('title', function(){
return 'Edit "' + $.trim( $(this).html().replace(/<[^>]+>/ig,"") ) + '"';
});
@dboutote
dboutote / feed_filter.php
Last active February 23, 2016 20:28
Limit a WordPress feed to one post type.
<?php
function my_feed_filter($query) {
if ( $query->is_feed && 'cpt_shop' === $query->get('post_type') ) {
$query->set('order', 'asc');
$query->set('meta_key', '_alt_title');
$query->set('orderby', 'meta_value');
};
return $query;
};
add_filter('pre_get_posts','my_feed_filter');
@dboutote
dboutote / group-recent-comment.sql
Last active March 13, 2016 20:02
[WordPress] Group Recent Comments by post ID, sort by comment date
SELECT c.comment_ID
FROM wp_comments c
JOIN
( SELECT wp_comments.comment_post_ID, max(wp_comments.comment_date_gmt) maxDate
FROM wp_comments
GROUP BY wp_comments.comment_post_ID
) c2
ON c.comment_date_gmt = c2.maxDate AND c.comment_post_ID = c2.comment_post_ID
JOIN wp_posts
ON wp_posts.ID = c.comment_post_ID
@dboutote
dboutote / recent-grouped-comments.sql
Created March 13, 2016 22:24
[WordPress] Get recent comments grouped by post
SELECT c.*
FROM `dbdb`.`wp_comments` c
LEFT JOIN `dbdb`.`wp_comments` c2 ON c.comment_post_ID = c2.comment_post_ID AND c.comment_date_gmt < c2.comment_date_gmt
JOIN `dbdb`.`wp_posts` ON `dbdb`.`wp_posts`.ID = c.comment_post_ID
WHERE c2.comment_date_gmt is NULL
AND ( c.comment_approved = '1' )
AND c.comment_type NOT IN ('pingback', 'trackback')
AND `dbdb`.`wp_posts`.post_status IN ('publish')
AND `dbdb`.`wp_posts`.post_type IN ('post')
ORDER BY c.comment_date_gmt DESC