Skip to content

Instantly share code, notes, and snippets.

View smeric's full-sized avatar

Sébastien Méric smeric

View GitHub Profile
Verifying that "sebmeric.id" is my Blockstack ID. https://onename.com/sebmeric
@smeric
smeric / yoast-seo-breadcrumbs-for-woocommerce.php
Last active June 21, 2021 22:13
Add WooCommerce endpoints to Yoast SEO breadcrumbs
<?php
/**
* Add WooCommerce endpoints to Yoast SEO breadcrumbs
*
* @link https://gist.github.com/smeric/b544f154ea752e47d0427f3e1ae901b5
* @version 1.0.1
* @package yoast_seo_breadcrumbs_for_woocommerce_endpoints
*
* @wordpress-plugin
* Plugin Name: Yoast SEO breadcrumbs addon
@smeric
smeric / html-tags-shortcode.php
Created October 7, 2017 19:42
WordPress HTML tags shortcode. So you may add HTML to escaped form fields values :)
<?php
/**
* HTML tags shortcode
*
* Usage: [html tag="span" class="myClass" id="firstSpan"]Lorem ipsum[html tag='br']dolor sit amet[/html]
*/
function html_tag_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'tag' => 'div',
'id' => '',
@smeric
smeric / nemus-slider.php
Last active December 18, 2017 09:10
WordPress Nemus Slider : PHP Fatal error: Call to a member function add_cap() on a non-object in /PATH/TO/SITE/FOLDER/wp-content/plugins/nemus-slider/nemus-slider.php on line 97
<?php
/*
* Nemus Slider
* https://wordpress.org/plugins/nemus-slider/
* nemus-slider.php line 75
* Reported issue : https://wordpress.org/support/topic/php-fatal-error-call-to-a-member-function-add_cap-on-a-non-object/
*/
//Capabilities
function nemus_slider_add_caps_to_admin() {
@smeric
smeric / custom-post-type-specific-editor-style.php
Last active May 18, 2020 21:32
Add a post-type specific editor stylesheet to each post edit screen in WordPress back-end. See https://sebastien-meric.com/wordpress-gutenberg-feuille-de-style-specifique-type-de-contenu-post-type/ (in french).
<?php
/**
* Registers a specific editor stylesheet for the current post type.
*
* @see https://developer.wordpress.org/reference/functions/add_editor_style/
*/
function my_theme_add_editor_styles() {
global $pagenow, $current_screen;
// Current post-type
@smeric
smeric / editor-style.css
Last active April 20, 2020 21:01
WordPress Gutengerg starter editor stylesheet. See https://sebastien-meric.com/wordpress-gutenberg-feuille-de-style-editeur/ (in french).
/**
* Gutenberg backoffice common content stylesheet
*
* Do note that every CSS declarations will be prepended with .editor-styles-wrapper class.
**/
/** =Bugs
*************************************/
/* @see https://wordpress.org/support/topic/many-new-bugs-after-update/ */
@smeric
smeric / f2l-new-type.php
Last active April 20, 2020 15:15
WordPress plugin to make the displayed WordPress functions names in your posts content clickable and linked to their reference page in the codex using a shortcode.
<?php
// as an example, this is the way to add a type to forge links to php.net manual
function F2L_types( $type, $name, $content ) {
if ( 'phpf' === $type ) {
$content = '<code><a href="https://www.php.net/manual/fr/function.' . str_replace( '_', '-', $name ) . '.php" title="' . esc_attr__( 'Check on php.net...', 'txt-domain' ) . '" rel="external noopener noreferrer">' . $name . '</a></code>';
}
return $content;
}
add_filter( 'F2L_types', 'F2L_types', 10, 3 );
@smeric
smeric / add_editor_styles_by_post_id.php
Last active August 10, 2021 13:04
This is how to assign a specific stylesheet to a specific post type post id on WordPress Gutenberg edit screen. See https://sebastien-meric.com/appliquer-gutenberg-feuille-de-style-post-id/ (in french).
<?php
/**
* Registers a specific editor stylesheet for a specific post id.
*/
function actusoins_add_editor_styles_by_post_id() {
global $pagenow;
// Are we on a post edit page ?
if ( isset( $pagenow ) && 'post.php' === $pagenow ) {
$post_id = $_GET['post'];
@smeric
smeric / editor-container-query.php
Last active April 22, 2020 21:42
Use this javascript code to add classes to the .block-editor__typewriter block just following the .editor-styles-wrapper block. Those classes are here to mimick front-end breakpoints because of ineffectiveness of media queries. See https://sebastien-meric.com/gutenberg-responsive-container-queries/ (in french).
<?php
/**
* Enqueue in editor pages a specific editor-script.js file
*/
function my_theme_editor_container_query() {
// Load the editor script within Gutenberg.
wp_enqueue_script( 'my_theme_editor_container_query', get_stylesheet_directory_uri() .'/editor-script.js' );
}
add_action( 'enqueue_block_editor_assets', 'my_theme_editor_container_query' );
?>
@smeric
smeric / DB.php
Last active September 20, 2020 21:59
Mysqli Class
<?php
namespace SMeric\Utilities;
/**
* Simple MySQLi Class 0.3.2
*
* @author JReam
* @license GNU General Public License 3 (http://www.gnu.org/licenses/)
*
* This program is free software; you can redistribute it and/or modify it