Skip to content

Instantly share code, notes, and snippets.

@everaldomatias
everaldomatias / virtual-page.php
Created July 15, 2023 01:20
Create virtual page on WP
<?php
namespace MeuPlugin;
$voting_page = apply_filters( 'voting_page', 'create-voting' );
define( 'MEUPLUGIN_VOTING_PAGE', $voting_page );
function add_rewrite()
{
add_rewrite_rule('^concordamos/' . CONCORDAMOS_VOTING_PAGE . '/?', 'index.php?voting_page=1', 'top');
p1_eixo
p12_uf
p16_bairro
p16_cidade
p16_estado
p16_internacional
p16_nacional
p17_ano
p18_agrario
p18_comunicacao
@everaldomatias
everaldomatias / excerpt.php
Created June 22, 2023 22:41
Altera o `excerpt_more` na Home e para o CPT `deputado`
<?php
function filter_excerpt_more( $more ) {
global $post;
if ( is_front_page() ) {
if ( ! ( 'deputado' == $post->post_type ) ) {
return $more;
@everaldomatias
everaldomatias / endpoint.php
Created June 21, 2023 01:27
Implementa chart.js no WP
<?php
function custom_endpoint_init() {
register_rest_route( 'meusite/v1', '/graficos/', array(
'methods' => 'GET',
'callback' => 'minha_funcao_de_resposta',
'args' => array(
'meta' => array(
'validate_callback' => function($param, $request, $key) {
return is_string( $param );
@everaldomatias
everaldomatias / woocommerce-functions.php
Last active June 3, 2023 01:01
Enqueue WooCommerce template from plugin
<?php
add_filter( 'woocommerce_locate_template', 'custom_woocommerce_locate_template', 10, 3 );
function custom_woocommerce_locate_template( $template, $template_name, $template_path ) {
global $woocommerce;
$_template = $template;
if ( ! $template_path ) $template_path = $woocommerce->template_url;
<?php
/**
* Partial template for content in page.php
*
* @package UnderStrap
*/
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit;
@everaldomatias
everaldomatias / get-youtube-data.php
Created May 11, 2023 01:08
Get data from YouTube video
<?php
$api_key = 'YOUR_API_KEY';
$url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
$pattern = '/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^\&\?]*).*/';
preg_match($pattern, $url, $matches);
$video_id = $matches[7];
$url = "https://www.googleapis.com/youtube/v3/videos?id=$video_id&key=$api_key&part=snippet";
@everaldomatias
everaldomatias / dump.sh
Created April 13, 2023 20:12
Gerar dump SQL usando docker-compose e MariaDB
sudo docker-compose exec mariadb mysqldump -uwordpress -pwordpress wordpress > ./dump.sql
@everaldomatias
everaldomatias / gist:c7c19a0cbc0bef9cf42c60701ab932a2
Created April 13, 2023 11:03
Remove PDF Password in Linux using PDF Toolkit (Pdftk)
$ sudo apt install pdftk [On Debian, Ubuntu and Mint]
$ sudo yum install pdftk [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a app-text/pdftk [On Gentoo Linux]
$ sudo apk add pdftk [On Alpine Linux]
$ sudo pacman -S pdftk [On Arch Linux]
$ sudo zypper install pdftk [On OpenSUSE]
$ pdftk <path-to-protected-filename>.pdf input_pw <yourpassword> output <path-to-newfilename>.pdf
<?php
function custom_search_filter( $query ) {
global $wpdb;
if ( $query->is_search() && ! is_admin() ) {
$search_query = get_search_query();
$results = $wpdb->get_results(
$wpdb->prepare(
"SELECT p.ID, p.post_title, m.meta_value
FROM {$wpdb->prefix}posts AS p