Skip to content

Instantly share code, notes, and snippets.

@janizde
janizde / filter-format-overview.php
Last active December 10, 2020 23:30
Change date range format in Overview Widget
<?php
add_filter('op_shortcode_markup', function ($markup, $shortcode) {
if ($shortcode instanceof \OpeningHours\Module\Shortcode\IsOpen) {
return preg_replace('/(\d{2}:\d{2}) - (\d{2}:\d{2})/', '$1–$2', $markup);
}
return $markup;
}, 10, 2);
const Breadcrumb = classBound.ol('breadcrumb');
const BreadcrumbItem = classBound.li('breadcrumb-item', { isActive: 'active' });
const BreadcrumbLink = classBound.a('breadcrumb-link');
const BreadcrumbContainer: React.FC<{ items: Item[]; activeId: number }> =
({ items, activeId }) => (
<Breadcrumb aria-label="breadcrumb">
{items.map(item => {
<BreadcrumbItem key={item.id} isActive={item.id === activeId}>
<BreadcrumbLink href={item.url} target="_blank">{item.name}</BreadcrumbLink>
@janizde
janizde / opening-hours-custom-text-on-mondays.php
Last active March 28, 2020 12:34
Opening Hours extension showing a custom message on mondays
<?php
use OpeningHours\Module\Shortcode\IsOpen;
use OpeningHours\Util\Dates;
add_filter('op_shortcode_attributes', function (array $attributes, $shortcode) {
if ($shortcode instanceof IsOpen && (int) Dates::getNow()->format('w') === 1) {
$attributes['text'] = 'Custom monday message';
$attributes['classes'] = ''; // Remove open / closed styles
}
@janizde
janizde / opening-hours-for-current-day.php
Created November 2, 2016 19:41
Get OpeningHours for current day
<?php
use OpeningHours\Module\OpeningHours;
use OpeningHours\Entity\IrregularOpening;
use OpeningHours\Entity\Period;
$openingHours = OpeningHours::getInstance();
$set = $openingHours->getSet(4); // Specify Set id; $set instanceof OpeningHours\Entity\Set
$isOpen = $set->isOpen();
@janizde
janizde / wpml-term-slug-fiter.php
Last active August 29, 2015 14:17
Filter fixing WPML appending language codes on term slugs
<?php
/**
* Filter fixing term slug for WPML plugin
* always (!) removes -{language code} (including repetitions like "-de-de-de") from the end of the slug before it is saved in the database and after WPML modified the slug.
* Note that this will always happen, even if you typed in the language code yourself in the input.
* The function will not strip combinations of different language codes like "-de-en-de" (this would certainly result in "-de-en").
*
* @author Jannik Portz (@janizde)
* @param string $slug The slug coming from WPML_Term_Translations::pre_term_slug_filter
* @return string The slug without language codes at the end
@janizde
janizde / op-filter.php
Created January 3, 2015 14:08
WP Opening Hours Filter
<?php
/**
* Diesen Code irgendwo im Theme (functions.php) oder in einem eigenen kleinen Plugin unterbringen
*/
function op_filter_custom_time_string ( $time_string ) {
$time_string_array = explode( ' ', $time_string );
return 'Ab ' . $time_string_array[0];
}
@janizde
janizde / get-post-details.php
Created November 16, 2014 13:04
Examples: Retrieving Data from WP Detail Fields
<?php
/**
* WP Detail Fields: Retrvieving Data
*/
/**
* Get Post Detail function
*
* @param string $slug The Detail Fields' slug
* @param int $post_id The posts id. By default id of global $post
@janizde
janizde / examples.php
Created November 9, 2014 21:24
WP Detail Fields registration examples
<?php
/**
* WP Detail Field: Registration Examples
*/
function register_my_custom_detail_fields () {
/**
* Field Types: text, textarea, date, time, email, url
*