// получить слаг
$url_path = parse_url( $url, PHP_URL_PATH );
$slug = pathinfo( $url_path, PATHINFO_BASENAME );
//получит пост
$args=array(
'name' => $slug,
'post_type' => $post_type,
'posts_per_page' => 1
);
$post = get_posts( $args );
//получить ID
$post_ID = !empty($post->ID) ? $post->ID: false;
#можно так
echo TEMPLATEPATH . 'part/to/action/php';
# а можно так
echo home_url('/action_page')
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
add_action( 'init', 'create_taxonomy' );
function create_taxonomy() {
register_taxonomy( 'taxonomy', [ 'post' ], [] );
}
#https://wordpress.stackexchange.com/questions/275213/remove-child-products-from-woocommerce-category-page#answer-275260
function exclude_product_cat_children( $wp_query ) {
if ( isset( $wp_query->query_vars['product_cat'] ) && $wp_query->is_main_query() ) {
$wp_query->set(
'tax_query', array( array (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $wp_query->query_vars['product_cat'],
'include_children' => false
) )
);
}
}
add_filter('pre_get_posts', 'exclude_product_cat_children');
/**
* Список меток поста с тайтлом задаваемым в описании метки
*
* @param null $post_id - ID поста для которого получить метки
* @param null $before - что-то до списка меток
* @param null $sep - разделитель между метками
* @param null $after - что-то после списка меток
*
* @return bool|string|WP_Error
*/
function wpp_get_post_tags_with_title( $post_id = null, $before = null, $sep = null, $after = null ) {
if ( empty( $post_id ) ) {
global $post;
$post_id = $post->ID;
}
$post_tags = get_the_tags( (int)$post_id );
if ( empty( $post_tags ) ) {
return false;
}
$links = [];
foreach ( $post_tags as $tag ) {
$link = get_term_link( (int)$tag->term_id, 'post_tag' );
if ( is_wp_error( $link ) ) {
return $link;
}
$links[] = sprintf( '<a href="%s" rel="tag" title="%s">%s</a>', esc_url( $link ), $tag->description, $tag->name );
}
$tag_links = apply_filters( "term_links-post_tag", $links );
return $before . join( $sep, $tag_links ) . $after;
}