<?php
if ( ! defined( ‘ABSPATH’ ) ) { exit; }
if ( ! isset( $content_width ) ) $content_width = 1280;
function skelementor_init() {
add_theme_support( ‘title-tag’ );
add_theme_support( ‘post-thumbnails’ );
add_theme_support( ‘automatic-feed-links’ );
add_theme_support( ‘title-tag’ );
add_theme_support( ‘html5’, array( ‘search-form’, ‘comment-form’, ‘comment-list’, ‘gallery’, ‘caption’ ) );
add_theme_support( ‘custom-logo’, array(
‘width’ => 260,
‘height’ => 100,
‘flex-height’ => true,
‘flex-width’ => true,
) );
add_theme_support( ‘custom-header’ );
add_theme_support( ‘woocommerce’ );
add_post_type_support( ‘page’, ‘excerpt’ );
register_nav_menus(
array( ‘main-menu’ => __( ‘Main Menu’, ‘skelementor’ ) )
);
load_theme_textdomain( ‘skelementor’, get_template_directory() . ‘/languages’ );
}
add_action( ‘after_setup_theme’, ‘skelementor_init’ );
function skelementor_comment_reply() {
if ( get_option( ‘thread_comments’ ) ) { wp_enqueue_script( ‘comment-reply’ ); }
}
add_action( ‘comment_form_before’, ‘skelementor_comment_reply’ );
function skelementor_scripts_styles() {
wp_enqueue_style( ‘skelementor-style’, get_stylesheet_uri() );
}
add_action( ‘wp_enqueue_scripts’, ‘skelementor_scripts_styles’ );
function skelementor_register_elementor_locations( $elementor_theme_manager ) {
$elementor_theme_manager->register_all_core_location();
};
add_action( ‘elementor/theme/register_locations’, ‘skelementor_register_elementor_locations’ );
function price_range_on_save( $post_id ) {
$post_type = ‘share’; //custom post type for events
//Check if we are saving correct post type
if( get_post_type( $post_id ) != $post_type)
return;
//Check it’s not an auto save routine
if( defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE )
return;
// get the price of the post. This assumes that the price is a number and has no currency symbol or thousands separator
$post_price = get_post_field (‘price’, $post_id);
// set an empty default string
$post_price_text = “”;
// set the price text label to match the price
if ($post_price) {
switch($post_price) {
case ( $post_price <= 100 ):
$post_price_text = “0-100 kr”;
break;
case ( ($post_price > 100) && ($post_price <= 250) ):
$post_price_text = “101-250 kr”;
break;
default:
$post_price_text = “250 kr and up”;
}
}
// update the price choice
update_field( ‘post_price_text’, $post_price_text );
}
add_action(‘save_post’, ‘price_range_on_save’);
/////////
$roots_includes = array(
‘lib/extras.php’,
‘lib/scripts.php’,
‘lib/ajax.php’,
‘lib/post-types.php’,
‘lib/init.php’,
‘lib/utilities.php’,
‘lib/acf.php’,
// ‘lib/custom-fields.php’,
// ‘lib/custom-fields/category.php’,
// ‘lib/custom-fields/footer.php’,
// ‘lib/custom-fields/post.php’,
);
foreach ($roots_includes as $file) {
if (!$filepath = locate_template($file)) {
trigger_error(sprintf(__(‘Error locating %s for inclusion’, ‘roots’), $file), E_USER_ERROR);
}
require_once $filepath;
}
unset($file, $filepath);
// CUSTOM FILTER // Add author of the current post (SPELTIPS)
add_action( ‘elementor/query/from_same-author’, function( $query ) {
// The author of the current post
$author_id = get_the_author_meta(‘ID’);
$query->set( ‘author’, $author_id );
} );
// CUSTOM FILTER // Add Speltips from same expert on EXPERT page
add_action( ‘elementor/query/spel-from-same-expert’, function( $query ) {
// The author of the current post
$author_id = get_field( ‘wp_authors’ );
$query->set( ‘author’, $author_id );
} );
add_action( ‘elementor/query/shares-from-current_author’, function( $query ) {
// The author of the current post
$author_id = get_the_author_meta(‘ID’);
$expert_id = get_field( ‘expert’, ‘user_’ . $author_id );
if( is_array( $expert_id ) ) $expert_id = $expert_id[ ‘ID’ ];
$meta_query = $query->get( ‘meta_query’ );
if( ! is_array( $meta_query ) ) $meta_query = [];
$meta_query[ ‘expert_id’ ] = [
‘key’ => ‘expert’,
‘compare’ => ‘==’,
‘value’ => $expert_id,
];
$query->set( ‘meta_query’, $meta_query );
} );
// CUSTOM FILTER // Add ANDELAR (SHARES) from same expert on EXPERT page
add_action( ‘elementor/query/andelar-from-same-expert’, function( $query ) {
// The author of the current post
$expert_id = get_the_ID();
$meta_query = $query->get( ‘meta_query’ );
if( ! is_array( $meta_query ) ) $meta_query = [];
$meta_query[ ‘expert_id’ ] = [
‘key’ => ‘expert’,
‘compare’ => ‘==’,
‘value’ => $expert_id,
];
$query->set( ‘meta_query’, $meta_query );
} );
// Add Options Page
function add_my_options_page() {
if( function_exists(‘acf_add_options_page’) ) {
acf_add_options_page();
}
}
add_action( ‘plugins_loaded’, ‘add_my_options_page’ );
// Don’t put anything except includes in this file
//Pick a place for your jsons to live. We stick them into the /theme/includes/acf-json folder, but you can stick these wherever
// change where acf json files are saved
add_filter(‘acf/settings/save_json’, ‘jb_acf_save_json’);
function jb_acf_save_json($path) { return get_stylesheet_directory().’/includes/acf-json’; }
// add our custom folder to places acf json are loaded from
add_filter(‘acf/settings/load_json’, ‘jb_acf_load_json’);
function jb_acf_load_json($paths) { return array_merge($paths, array(get_stylesheet_directory().’/includes/acf-json’)); }
function custom_theme_slug_filter_the_content( $content ) {
global $wpdb;
if(“post” == get_post_type()){
//if(is_singular(‘posts’)){
$requested_post_id = get_the_ID();
$authordetails = get_field(‘acfe_author’, $requested_post_id);
$suthorname = $authordetails[‘display_name’];
$expert_args = array(
‘post_type’ => ‘expert’,
‘post_status’ => ‘publish’,
‘title’ => trim($suthorname),
‘orderby’ => ‘date’,
‘order’ => ‘DESC’
);
$query = new WP_Query($expert_args);
$postid = $query->post->ID;
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $postid ), ‘full’ );
$custom_content = ‘<div id=”ctm-img-box” class=”custom-img-box”><span class=”elementor-icon-list-icon”></span><span class=”authorname”>’.$suthorname.'</span></div>’;
$custom_content .= $content;
//return $custom_content;
}else{
$custom_content = $content;
}
return $custom_content;
}
add_filter( ‘the_content’, ‘custom_theme_slug_filter_the_content’, 1);
function wpa_choose_ad($user_id, $expert_id) {
$requested_post_id = get_the_ID();
$expert_user = get_field(‘wp_authors’, $requested_post_id);
//echo $user_id;
$args = array(
‘post_type’ => ‘share’,
‘posts_per_page’ => 12,
‘orderby’ => ‘rand’,
‘meta_query’ => array(
array(
‘key’ => ‘expert’,
‘value’ => $expert_id,
‘compare’ => “=”
)
)
);
$the_query = new WP_Query( $args );
//echo “
";
//print_r($the_query);
$the_ad = '<div class="elementor-container elementor-column-gap-no">';
$the_ad .= '<div class="element-row">';
$the_ad .= '<div class="elementor-widget-container elementor-widget-heading"><h4 class="elementor-heading-title elementor-size-default">MINA ANDELAR</h4></div>';
$the_ad .= '<div class="elementor-widget-container">';
$the_ad .= '<div class="ecs-posts elementor-posts-container elementor-posts elementor-grid elementor-posts--skin-custom">';
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) : $the_query->the_post();
$title = get_the_title();
$url = get_permalink(get_the_ID());
$expert_type = get_field('type', get_the_ID());
$expert_shares = get_field('shares', get_the_ID());
$expert_price = get_field('price', get_the_ID());
$the_ad .= '<div class="share_outer_box">';
$the_ad .= '<div class="share_price_details">';
$the_ad .= '<p>'.$expert_type.'</p>';
$the_ad .= '<p>'.$expert_shares.' andler | '.$expert_price.' SEK</p>';
$the_ad .= '</div>';
$the_ad .= '<h2 class="custom-title elementor-heading-title elementor-size-default">'.$title.'</h2>';
$the_ad .= '</div>';
endwhile;
}
$the_ad .= '</div>';
$the_ad .= '</div>';
$the_ad .= '</div>';
$the_ad .= '</div>';
wp_reset_postdata();
return $the_ad;
}
function filter_function_name( $query_args, $sfid ) {
//if search form ID = 19856, the do something with this query
if($sfid==19856)
{
//modify $query_args here before returning it
// args
$args = array(
'post_type' => 'shares',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'type',
'value' => 'Europatipset',
'compare' => 'LIKE'
),
array(
'key' => 'type',
'value' => 'Stryktipset',
'compare' => 'LIKE'
)
)
);
}
return $query_args;
}
add_filter( 'sf_edit_query_args', 'filter_function_name', 20, 2 );