<?php
/*
* I've originally written this as part of a site specific plugin for Fritidsbolig.net.
* You can use this as either part of your custom plugin - or directly as copy pasted in
* your child theme's function.php
*
/*
/*
* Adding a new post type
*/
function register_artikkel_post_type() {
$args = array(
'labels' => array(
'name' => __( 'Artikler', 'article' ),
'singular_name' => __( 'Artikkel', 'article' ),
'menu_name' => __( 'Artikler', 'article' ),
'name_admin_bar' => __( 'Artikler', 'article' ),
'add_new' => __( 'Legg til ny', 'article' ),
'add_new_item' => __( 'Legg til ny Artikkel', 'article' ),
'new_item' => __( 'Ny artikkel', 'article' ),
'edit_item' => __( 'Rediger Artikkel', 'article' ),
'view_item' => __( 'Se artikkel', 'article' ),
'all_items' => __( 'Alle artikler', 'article' ),
'search_items' => __( 'Søk i artikler', 'article' ),
'parent_item_colon' => __( 'Overordnede Artikler:', 'article' ),
'not_found' => __( 'Ingen artikler funnet.', 'article' ),
'not_found_in_trash' => __( 'Ingen artikler i papirkurv.', 'article' )
),
'query_var' => 'articles',
'rewrite' => array(
'slug' => 'artikkel/%sted%/%tema_kategori%',
'with_front' => false
),
'public' => true, // If you don't want it to make public, make it false
'publicly_queryable' => true, // you should be able to query it
'show_ui' => true, // you should be able to edit it in wp-admin
'has_archive' => 'artikler', //true,
'menu_position' => 3,
'show_in_rest' => true,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
);
flush_rewrite_rules();
register_post_type('articles', $args);
}
add_action( 'init', 'register_artikkel_post_type' );
/*
* Adding tema-categories to make it easer to sort
*/
function taxonomies() {
$taxonomies = array();
$taxonomies['tema_kategori'] = array(
'hierarchical' => true,
'query_var' => 'tema-kategori',
'rewrite' => array(
'slug' => 'tema/kategori'
),
'labels' => array(
'name' => 'Tema',
'singular_name' => 'Tema',
'edit_item' => 'Rediger Tema',
'update_item' => 'Oppdater Tema',
'add_new_item' => 'Legg til Tema',
'new_item_name' => 'Legg til Tema',
'all_items' => 'Alle tema',
'search_items' => 'Søk i tema',
'popular_items' => 'Populære tema',
'separate_items_with_commas' => 'Separer tema med komma',
'add_or_remove_items' => 'Legg til eller fjern tema',
'choose_from_most_used' => 'Velg blant mest brukte tema',
),
'show_admin_column' => true,
'show_in_rest' => true
);
/*
* Adding sted (places) to make it easier to sort
*/
$taxonomies['sted'] = array(
'hierarchical' => true,
'query_var' => 'sted',
'rewrite' => array(
'slug' => 'sted'
),
'labels' => array(
'name' => 'Sted',
'singular_name' => 'Sted',
'edit_item' => 'Rediger Sted',
'update_item' => 'Oppdater Sted',
'add_new_item' => 'Legg til sted',
'new_item_name' => 'Legg til nytt sted',
'all_items' => 'Alle steder',
'search_items' => 'Søk i sted',
'popular_items' => 'Populære steder',
'separate_items_with_commas' => 'Separer steder med komma',
'add_or_remove_items' => 'Legg til eller fjern steder',
'choose_from_most_used' => 'Velg blant mest brukte steder',
),
'show_admin_column' => true,
'show_in_rest' => true
);
/*
* Adding ad-placements sorting
*/
$taxonomies['nokkelord'] = array(
'hierarchical' => true,
'query_var' => 'nokkelord',
'rewrite' => array(
'slug' => 'nokkelord'
),
'labels' => array(
'name' => 'Nøkkelord',
'singular_name' => 'Nøkkelord',
'edit_item' => 'Rediger nøkkelord',
'update_item' => 'Oppdater nøkkelord',
'add_new_item' => 'Legg til nøkkelord',
'new_item_name' => 'Legg til nyrt nøkkelord',
'all_items' => 'Alle nøkkelord',
'search_items' => 'Søk i nøkkelord',
'popular_items' => 'Mest brukte nøkkelord',
'separate_items_with_commas' => 'Separer nøkkelord med komma',
'add_or_remove_items' => 'Legg til eller fjern nøkkelord',
'choose_from_most_used' => 'Velg blant mest brukte nøkkelord',
),
'show_admin_column' => true
);
/*
* Rewriting permalinks to make dynamic placement of posts
*/
flush_rewrite_rules();
foreach( $taxonomies as $name => $args ) {
register_taxonomy( $name, array( 'articles' ), $args );
}
}
add_action( 'init', 'taxonomies' );
function filter_post_type_link($link, $post)
{
if ($post->post_type != 'articles')
return $link;
if ($cats = get_the_terms($post->ID, 'tema_kategori'))
$link = str_replace('%tema_kategori%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
function filter_post_type_link_location($link, $post)
{
if ($post->post_type != 'articles')
return $link;
if ($cats = get_the_terms($post->ID, 'sted'))
$link = str_replace('%sted%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link_location', 10, 2);
function eg_add_rewrite_rules() {
global $wp_rewrite;
$new_rules = array(
'artikkel/(tema-kategori|sted)/(.+?)/(tema-kategori|sted)/(.+?)/?$' => 'index.php?post_type=articles&' . $wp_rewrite->preg_index(1) . '=' . $wp_rewrite->preg_index(2) . '&' . $wp_rewrite->preg_index(3) . '=' . $wp_rewrite->preg_index(4),
'artikkel/(tema-kategori|sted)/(.+)/?$' => 'index.php?post_type=articles&' . $wp_rewrite->preg_index(1) . '=' . $wp_rewrite->preg_index(2)
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_action( 'generate_rewrite_rules', 'eg_add_rewrite_rules' );
?>
Fjern kommentarer fra WordPress-menyen
Slik går du frem for å fjerne kommentarer på både eksisterende og nye poster på din Wordpress-nettside.