Skip to content

Instantly share code, notes, and snippets.

Avatar

Thorsten Ott tott

View GitHub Profile
@tott
tott / import-teamwork.sh
Created Oct 12, 2020
Get Tasks currently assigned to you from Teamwork api and import to topydo
View import-teamwork.sh
#!/usr/bin/env bash
# Get token from edit profile API & Mobile https://developer.teamwork.com/projects/apikey/key
# Get auth string by base64 encoding <token>:<randomstring>
# https://www.base64encode.org/ can be used to create such encoded string
token=<authstring>
authString="Authorization: Basic $token"
# Get user id from your profile url (/#/people/<userid>/tasks)
userId=<userid>
@tott
tott / gist:1782a7fe1b8158eeb13ab632e2663574
Created Sep 21, 2020
ElasticPress allow _wysiwig_ meta_keys in searches
View gist:1782a7fe1b8158eeb13ab632e2663574
add_filter(
'ep_weighting_configuration_for_search',
function( $weighting_config ) {
global $wpdb;
$post_meta = get_transient( 'custom_ep_distinct_post_meta' );
if ( ! $post_meta ) {
$post_meta = $wpdb->get_col(
"SELECT DISTINCT meta_key
FROM {$wpdb->postmeta} pm
@tott
tott / hide_repeater_meta_from_elasticpress.php
Created Mar 19, 2020
Hide repeater styrle fields following the pattern ..._0_... from indexing in ElasticPress
View hide_repeater_meta_from_elasticpress.php
add_filter( 'ep_prepare_meta_data', function( $meta ) { 
foreach( $meta as $key => $value ) {
if ( preg_match( '/.+_([0-9]+)_.+/', $key ) ) {
unset( $meta[$key] );
}
}
return $meta;
} );
@tott
tott / run-wp-cron.sh
Created Nov 16, 2019
Execute WP-Cron on multisite through wp-cli
View run-wp-cron.sh
#!/bin/bash
function run_cron_due_now {
for SITE_URL in $(wp --allow-root site list --fields=url --format=csv | tail -n +2 | sort); do
wp --allow-root cron event run --due-now --url="$SITE_URL" && echo -e "\t+ Completed Crons for $SITE_URL" &
done
wait $(jobs -p)
echo "Done"
}
@tott
tott / set-exact.php
Created Sep 11, 2019
Set ElasticPress Exact match
View set-exact.php
function set_to_exact( $formatted_args, $args ) {
if ( ! empty( $formatted_args['query']['bool']['should'] ) ) {
$formatted_args['query']['bool']['must'] = $formatted_args['query']['bool']['should'];
$formatted_args['query']['bool']['must'][0]['multi_match']['operator'] = 'AND';
unset( $formatted_args['query']['bool']['should'] );
unset( $formatted_args["query"]["bool"]["must"][0]["multi_match"]["type"] );
}
return $formatted_args;
}
add_filter( 'ep_formatted_args', 'set_to_exact', 10, 2 );
@tott
tott / gist:9d061c750f0e80703390a1f5571cf7e3
Created Sep 5, 2019
search term highlighting elasticpress
View gist:9d061c750f0e80703390a1f5571cf7e3
add_filter(
'ep_formatted_args',
function( $formatted_args ) {
if ( ! empty( $_GET['s'] ) ) {
foreach ( [ 'post_title', 'post_excerpt', 'author_name', 'terms.post_tag.name', 'terms.category.name' ] as $field ) {
$formatted_args['highlight']['fields'][ $field ] = [
'pre_tags' => [ '<strong style="background:yellow">' ],
'post_tags' => [ '</strong>' ],
'type' => 'plain',
];
@tott
tott / debug_http_requests.php
Created May 22, 2019
debug_http_requests.php Debug WordPress http api requests
View debug_http_requests.php
<?php
add_action( 'http_api_debug', 'my_http_api_debug', 10, 5 );
function my_http_api_debug( $response, $type, $class, $args, $url ) {
error_log( 'requested url: ' . var_export( $url, true ) );
error_log( 'arguments: ' . var_export( $args, true ) );
error_log( 'http response : ' . var_export( $response, true ) );
}
View gist:7125b5cfa1bd48d8da0e9ad89256c802
polybar config
[module/date]
type = custom/script
exec = ~/scripts/popup-calendar.sh
interval = 5
click-left = ~/scripts/popup-calendar.sh --popup
format-background = ${colors.alt-background}
format-foreground = ${colors.alt-foreground}
label = %output:25%
@tott
tott / read-backlight.py
Created Nov 22, 2018
Read backlight for x230 / x330 taobao FHD mod
View read-backlight.py
#!/usr/bin/env python
import sys
import array
import usb.core
import usb.util
import os
path = "/tmp/backlight-value"
# decimal vendor and product values
@tott
tott / gist:a10bebe067d517455e423eb32f7d1d3d
Created Oct 16, 2018
Sending multipart mail with wp_mail (untested)
View gist:a10bebe067d517455e423eb32f7d1d3d
<?php
$to = "receipt@domain.com";
$subject = "My Multipart test";
$message = "I am the plain text message";
$boundary = uniqid(rand(), true);
$header = "MIME-Version: 1.0\n"
You can’t perform that action at this time.