Skip to content

Instantly share code, notes, and snippets.

View janneleppanen's full-sized avatar

Janne Leppänen janneleppanen

  • Jyväskylä, Finland
View GitHub Profile
@janneleppanen
janneleppanen / functions.php
Last active September 3, 2020 06:49
Polylang | Yoast | Breadcrumb - Archive link fix
function fix_breadcrumb_archive_links_lang( $links ) {
foreach ( $links as $key => $link ) {
if ( isset( $link['ptarchive'] ) ) {
$post_type_object = get_post_type_object( $link['ptarchive'] );
$links[$key]['url'] = get_post_type_archive_link( $link['ptarchive'] );
$links[$key]['text'] = $post_type_object->label;
}
}
@janneleppanen
janneleppanen / gist:9b733418c1152e690cdaf4a6b950b4e1
Created May 12, 2020 10:33
Add Gutenberg editor to page_for_posts
/**
* Add editor support for posts page.
* If the posts page has content, the editor will turn to Gutenberg.
*
* @param object $post Post object.
* @return void
*/
function add_editor_for_posts_page( $post ) {
if ( ! isset( $post->ID ) || absint( $post->ID ) !== absint( get_option( 'page_for_posts' ) ) ) {
return;
@janneleppanen
janneleppanen / gist:6e2d779479c752de7984c3ac2f6cf591
Created January 26, 2018 12:05
WordPress: Show page instead of archive page
function show_page_instead_of_archive_page( $request ) {
if ( key_exists( 'category', $request ) ) {
$slug = $request['category'];
$queried_post = get_page_by_path( $slug, OBJECT, 'page' );
if ( $queried_post ) {
$request['page_id'] = $queried_post->ID;
unset( $request['category'] );
}
}
function render_template_part( $template, $args ) {
extract( $args );
include( locate_template( $template . '.php' ) );
}
@janneleppanen
janneleppanen / gist:1edb6389c95d0f60deaef2db7e50255f
Created March 24, 2017 11:26
NGINX redirect sub folder to new subdomain
# redirect sub folder to new sub domain
location ~ /sub {
rewrite ^(/sub/)(.*)$ http://sub.domain.com/$2;
}
# redirect main site to new domain
location ~ / {
return 302 http://domain.com$request_uri;
}
@janneleppanen
janneleppanen / elasticpress-polylang.php
Last active June 4, 2020 20:48
ElasticPress - Polylang
// Filter Elasticsearch posts by current language
add_filter( 'ep_formatted_args', function($formatted_args, $args) {
$formatted_args['post_filter']['bool']['must'][] = [
'term' => [
'lang' => pll_current_language()
]
];
return $formatted_args;
}, 10, 2);