Skip to content

Instantly share code, notes, and snippets.

View danielbachhuber's full-sized avatar

Daniel Bachhuber danielbachhuber

View GitHub Profile
@danielbachhuber
danielbachhuber / disable-comments.php
Created May 15, 2019 16:34
Disable comments entirely from the WordPress backend
<?php
add_filter( 'comments_open', '__return_false' );
add_action( 'admin_menu', function(){
global $menu;
// Remove Comments
if ( isset( $menu[25] ) ) {
unset( $menu[25] );
}
@danielbachhuber
danielbachhuber / tasty-recipes-medium-image-size.php
Created March 8, 2019 17:54
Use the 'medium' image size for a Tasty Recipe card when it exists.
<?php
/**
* Use the 'medium' image size for a Tasty Recipe card when it exists.
*
* @param array $template_vars Template variables to be used.
* @param object $recipe Recipe object.
*/
add_filter( 'tasty_recipes_recipe_template_vars', function( $template_vars, $recipe ) {
$recipe_json = $recipe->to_json();
if ( ! empty( $recipe_json['image_sizes']['medium'] ) ) {
@danielbachhuber
danielbachhuber / easyrecipe-convert-with-post-thumbnail.php
Created March 6, 2019 18:16
Use the post's featured image when the EasyRecipe doesn't have an image.
<?php
/**
* Use the post's featured image when the EasyRecipe doesn't have an image.
*
* @param integer $image_id Image ID to be used.
* @param object $recipe Tasty Recipe object.
* @param integer $post_id Original post ID.
*/
add_filter( 'tasty_recipes_convert_easyrecipe_image_id', function( $image_id, $recipe, $post_id ) {
if ( $image_id ) {
@danielbachhuber
danielbachhuber / tasty-pins-alt-text.php
Created March 1, 2019 15:43
Includes alt text on a Tasty Pins hidden image if none yet exists.
<?php
/**
* Includes alt text on a Tasty Pins hidden image if none yet exists.
*
* @param string $image_content Image content HTML string.
* @param integer $hidden_image Hidden image ID.
* @return string
*/
add_filter(
'tasty_pins_hidden_image_html',
@danielbachhuber
danielbachhuber / convert-number-to-fraction.js
Created February 18, 2019 21:32
Convert a number to a fraction in JavaScript
/**
* Converts numbers to fractions:
* - 1.25 to 1 1/4
* - 2 to 2
*/
var numberToFraction = function( amount ) {
// This is a whole number and doesn't need modification.
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
@danielbachhuber
danielbachhuber / disable-thumbnail-generation.php
Created February 18, 2019 21:19
Prevent image thumbnails from being created during import
<?php
/**
* Filtering 'intermediate_image_sizes_advanced' to return an empty array
* prior to calling media_sideload_image() will prevent thumbnails from being created.
*/
add_filter( 'intermediate_image_sizes_advanced', '__return_empty_array' );
$attachment_id = media_sideload_image( $image_url, $post_id, '', 'id' );
remove_filter( 'intermediate_image_sizes_advanced', '__return_empty_array' );
<?php
/**
* Filters wp_remote_get() to:
* 1. Return a value from the cache when it's available.
* 2. Write a value to the cache when it's been fetched.
*
* Requires the WP_IMPORT_CACHE constant to be set to a writable directory.
*/
if ( defined( 'WP_CLI' ) && WP_CLI ) {
@danielbachhuber
danielbachhuber / build-gutenberg-nightly.sh
Last active February 14, 2023 11:08
Create a build of the Gutenberg master branch
set -ex
# Expects git clone git@github.com:WordPress/gutenberg.git ~/gutenberg
cd ~/gutenberg
# Reset working directory
git checkout -f master
git pull origin master
# Run the initial gutenberg ZIP build
yes | npm run package-plugin
# Modify 'Version: ' to bump to next version and append short hash (e.g. '4.0-alpha-610aa4e')
echo '<?php file_put_contents( "gutenberg.php", preg_replace_callback( "#Version: (.+)#", function( $matches ) { $new_version = (float) $matches[1] + .1; $new_version .= ".0-alpha-" . substr( shell_exec( "git rev-parse HEAD" ), 0, 7 ); return str_replace( $matches[1], $new_version, $matches[0] ); }, file_get_contents( "gutenberg.php" ) ) );' | php
@danielbachhuber
danielbachhuber / rest-api-wp-5.md
Last active October 3, 2018 13:11
Assessment of REST API tickets for WordPress 5.0
@danielbachhuber
danielbachhuber / gutenberg-rest-api.md
Last active April 26, 2018 00:04
Review of Gutenberg's REST API milestone