2024-05-20 15:37:46 +03:00
|
|
|
|
<?php
|
|
|
|
|
|
2024-05-27 15:01:43 +03:00
|
|
|
|
require get_theme_file_path('/api-posts/api-posts.php');
|
|
|
|
|
|
2024-05-30 16:11:59 +03:00
|
|
|
|
// Add rewrite rule
|
|
|
|
|
add_action('init', function () {
|
|
|
|
|
add_rewrite_rule('api-template/?$', 'index.php?static_template=api-template', 'top');
|
|
|
|
|
flush_rewrite_rules(); // Only needed for local development
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Whitelist the custom query var
|
|
|
|
|
add_filter('query_vars', function($queryVars) {
|
|
|
|
|
$queryVars[] = 'static_template';
|
|
|
|
|
return $queryVars;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Conditionally render the custom template
|
|
|
|
|
add_action('template_include', function($template) {
|
|
|
|
|
if (get_query_var('static_template') == 'api-template') {
|
|
|
|
|
return get_template_directory(). '/api-template.php';
|
|
|
|
|
}
|
|
|
|
|
return $template;
|
|
|
|
|
});
|
2024-05-27 15:01:43 +03:00
|
|
|
|
|
2024-05-20 15:37:46 +03:00
|
|
|
|
// ? get variables (globally)
|
|
|
|
|
function gV($gv)
|
|
|
|
|
{
|
|
|
|
|
if ($gv == 'dev') $gv = true;
|
|
|
|
|
// else if ($gv == 'critical') $gv = false;
|
|
|
|
|
else if ($gv == 'ver') $gv = "1.000";
|
|
|
|
|
else if ($gv == 'slug') $gv = "simple-theme";
|
|
|
|
|
else $gv = 0;
|
|
|
|
|
return $gv;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
require(get_stylesheet_directory() . '/functions/base.php');
|
|
|
|
|
require(get_stylesheet_directory() . '/functions/styles.php');
|
|
|
|
|
require(get_stylesheet_directory() . '/functions/scripts.php');
|
|
|
|
|
require(get_stylesheet_directory() . '/functions/acf.php');
|
|
|
|
|
require(get_stylesheet_directory() . '/functions/get-video.php');
|
|
|
|
|
// require(get_stylesheet_directory() . '/functions/name.php');
|
|
|
|
|
|
|
|
|
|
// Allow SVG
|
|
|
|
|
add_filter( 'wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) {
|
|
|
|
|
|
|
|
|
|
global $wp_version;
|
|
|
|
|
if ( $wp_version !== '4.7.1' ) {
|
|
|
|
|
return $data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$filetype = wp_check_filetype( $filename, $mimes );
|
|
|
|
|
|
|
|
|
|
return [
|
|
|
|
|
'ext' => $filetype['ext'],
|
|
|
|
|
'type' => $filetype['type'],
|
|
|
|
|
'proper_filename' => $data['proper_filename']
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
}, 10, 4 );
|
|
|
|
|
|
|
|
|
|
function cc_mime_types( $mimes ){
|
|
|
|
|
$mimes['svg'] = 'image/svg+xml';
|
|
|
|
|
return $mimes;
|
|
|
|
|
}
|
|
|
|
|
add_filter( 'upload_mimes', 'cc_mime_types' );
|
|
|
|
|
|
|
|
|
|
function fix_svg() {
|
|
|
|
|
echo '<style type="text/css">
|
|
|
|
|
.attachment-266x266, .thumbnail img {
|
|
|
|
|
width: 100% !important;
|
|
|
|
|
height: auto !important;
|
|
|
|
|
}
|
|
|
|
|
</style>';
|
|
|
|
|
}
|
|
|
|
|
add_action( 'admin_head', 'fix_svg' );
|
|
|
|
|
add_theme_support( 'post-thumbnails' );
|
|
|
|
|
|
|
|
|
|
function get_ajax_blog_posts()
|
|
|
|
|
{
|
|
|
|
|
global $post;
|
|
|
|
|
$blog_posts_offset = ($_POST['offset']) ? $_POST['offset'] : 0;
|
|
|
|
|
$numberposts = ($_POST['numberposts']) ? $_POST['numberposts'] : 11;
|
|
|
|
|
$banner_display = ($_POST['banner']) ? $_POST['banner'] : false;
|
|
|
|
|
$args = array(
|
|
|
|
|
'category_name' => 'Blog Post',
|
|
|
|
|
'numberposts' => $numberposts,
|
|
|
|
|
'offset' => $blog_posts_offset,
|
|
|
|
|
);
|
|
|
|
|
if(($_POST['tag'])&&($_POST['tag']!='all')){
|
|
|
|
|
$args['tag'] = $_POST['tag'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$blog_posts = get_posts($args);
|
|
|
|
|
$response = '';
|
|
|
|
|
if ($blog_posts) {
|
|
|
|
|
$posts_counter = 0;
|
|
|
|
|
foreach ($blog_posts as $blog_post) {
|
|
|
|
|
$post = $blog_post;
|
|
|
|
|
setup_postdata($post);
|
|
|
|
|
if($posts_counter==3){
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-post-small');
|
|
|
|
|
if($blog_posts_offset==0){
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-banner');
|
|
|
|
|
}
|
|
|
|
|
}else if($posts_counter==6){
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-post-large');
|
|
|
|
|
}else{
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-post-small');
|
|
|
|
|
}
|
|
|
|
|
wp_reset_postdata();
|
|
|
|
|
$posts_counter++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
echo $response;
|
|
|
|
|
die;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action('wp_ajax_get_ajax_blog_posts', 'get_ajax_blog_posts');
|
|
|
|
|
add_action('wp_ajax_nopriv_get_ajax_blog_posts', 'get_ajax_blog_posts');
|
|
|
|
|
|
|
|
|
|
function get_pages_count($tag = false)
|
|
|
|
|
{
|
|
|
|
|
$args = array(
|
|
|
|
|
'category_name' => 'Blog Post',
|
|
|
|
|
'numberposts' => -1,
|
|
|
|
|
);
|
|
|
|
|
if(($tag)&&($tag!='all')){ $args['tag'] = $tag; }
|
|
|
|
|
$posts = new WP_Query( $args );
|
|
|
|
|
$total = ceil ($posts->found_posts / 11);
|
|
|
|
|
return $total;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_ajax_blog_posts_new()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
ob_start();
|
|
|
|
|
global $post;
|
|
|
|
|
$blog_posts_offset = ($_POST['offset']) ? $_POST['offset'] : 0;
|
|
|
|
|
$numberposts = ($_POST['numberposts']) ? $_POST['numberposts'] : 11;
|
|
|
|
|
$banner_display = ($_POST['banner']) ? $_POST['banner'] : false;
|
|
|
|
|
$author = ($_POST['author']) ? $_POST['author'] : -1;
|
|
|
|
|
$args = array(
|
|
|
|
|
'category_name' => 'Blog Post',
|
|
|
|
|
'numberposts' => $numberposts,
|
|
|
|
|
'offset' => $blog_posts_offset,
|
|
|
|
|
'author' => $author,
|
|
|
|
|
);
|
|
|
|
|
if(($_POST['tag'])&&($_POST['tag']!='all')){
|
|
|
|
|
$args['tag'] = $_POST['tag'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$blog_posts = get_posts($args);
|
|
|
|
|
$response = '';
|
|
|
|
|
if ($blog_posts) {
|
|
|
|
|
$posts_counter = 0;
|
|
|
|
|
foreach ($blog_posts as $blog_post) {
|
|
|
|
|
$post = $blog_post;
|
|
|
|
|
setup_postdata($post);
|
|
|
|
|
if($posts_counter==3){
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-post-small');
|
|
|
|
|
if($blog_posts_offset==0){
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-banner');
|
|
|
|
|
}
|
|
|
|
|
}else if($posts_counter==6){
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-post-large');
|
|
|
|
|
}else{
|
|
|
|
|
$response .= get_template_part('blog-posts/blog-post-small');
|
|
|
|
|
}
|
|
|
|
|
wp_reset_postdata();
|
|
|
|
|
$posts_counter++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$response = ob_get_clean();
|
|
|
|
|
|
|
|
|
|
if (0 == strlen($response))
|
|
|
|
|
{
|
|
|
|
|
$data['results'] = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$data['results'] = true;
|
|
|
|
|
}
|
|
|
|
|
$data['response'] = $response;
|
|
|
|
|
echo json_encode ($data);
|
|
|
|
|
die;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action('wp_ajax_get_ajax_blog_posts_new', 'get_ajax_blog_posts_new');
|
|
|
|
|
add_action('wp_ajax_nopriv_get_ajax_blog_posts_new', 'get_ajax_blog_posts_new');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
|
|
|
|
|
function myajax_data(){
|
|
|
|
|
wp_localize_script( 'main-script', 'myajax',
|
|
|
|
|
array(
|
|
|
|
|
'url' => admin_url('admin-ajax.php')
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function enqueue_my_scripts($hook) {
|
|
|
|
|
if ( 'post.php' != $hook ) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
wp_enqueue_style( 'post-css', get_template_directory_uri() . '/css/post-style.css' );
|
|
|
|
|
}
|
|
|
|
|
add_action('admin_enqueue_scripts', 'enqueue_my_scripts');
|
|
|
|
|
|
|
|
|
|
function load_template_part($template_name, $part_name=null) {
|
|
|
|
|
ob_start();
|
|
|
|
|
get_template_part($template_name, $part_name);
|
|
|
|
|
$var = ob_get_contents();
|
|
|
|
|
ob_end_clean();
|
|
|
|
|
return $var;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function add_blocks_before_h2($content) {
|
|
|
|
|
|
|
|
|
|
$exploded = explode("<h2", $content);
|
|
|
|
|
|
|
|
|
|
if ($exploded[2]) {
|
|
|
|
|
$exploded[1] = $exploded[1] . load_template_part('blog-posts/blog-telegram');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($exploded[3]) {
|
|
|
|
|
$tagsSlug = [];
|
|
|
|
|
$tags = wp_get_post_tags(get_the_ID());
|
|
|
|
|
if (!empty($tags)) {
|
|
|
|
|
foreach ($tags as $tag) {
|
|
|
|
|
$tagsSlug[] = $tag->slug;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$args = array(
|
|
|
|
|
'numberposts' => 1,
|
|
|
|
|
'exclude' => get_the_ID(),
|
|
|
|
|
'offset' => 0,
|
|
|
|
|
'tag' => $tagsSlug
|
|
|
|
|
);
|
|
|
|
|
$preview_posts = get_posts($args);
|
|
|
|
|
global $post;
|
|
|
|
|
|
|
|
|
|
$post = $preview_posts[0];
|
|
|
|
|
setup_postdata( $post );
|
|
|
|
|
$post_title = get_the_title();
|
|
|
|
|
$post_link = get_permalink();
|
|
|
|
|
|
|
|
|
|
wp_reset_postdata();
|
|
|
|
|
$exploded[2] = $exploded[2] . "<div class='block_read_more'><div class='block_read_more_title'>Читайте также</div><a tabindex=\"0\" href=\"$post_link\">$post_title</a></div>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($exploded[4]) {
|
|
|
|
|
$exploded[3] = $exploded[3] . load_template_part('blog-posts/blog-register');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = implode("<h2", $exploded);
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_filter('the_content', 'add_blocks_before_h2');
|
|
|
|
|
|
|
|
|
|
add_filter( 'wpseo_remove_reply_to_com', '__return_false' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function ghub_child_setup() {
|
|
|
|
|
add_theme_support( 'editor-styles' );
|
|
|
|
|
add_editor_style('style.css');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_action('after_setup_theme', 'ghub_child_setup');
|
|
|
|
|
|
|
|
|
|
add_filter('wpseo_metadesc', 'update_description');
|
|
|
|
|
add_filter('wpseo_opengraph_desc', 'update_description');
|
|
|
|
|
|
|
|
|
|
function update_description($content) {
|
|
|
|
|
global $PAGEN;
|
|
|
|
|
if (($PAGEN) && (($PAGEN > 1)))
|
|
|
|
|
{
|
|
|
|
|
$content .= ". Страница " . $PAGEN;
|
|
|
|
|
}
|
|
|
|
|
return $content;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function update_facebook_description($content) {
|
|
|
|
|
global $PAGEN;
|
|
|
|
|
if (($PAGEN) && (($PAGEN > 1)))
|
|
|
|
|
{
|
|
|
|
|
$content .= ". Страница " . $PAGEN;
|
|
|
|
|
}
|
|
|
|
|
return $content;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_filter( 'wpseo_next_rel_link', 'custom_change_wpseo_next' );
|
|
|
|
|
|
|
|
|
|
function custom_change_wpseo_next( $link ) {
|
|
|
|
|
$link = "";
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!function_exists('str_contains')) {
|
|
|
|
|
function str_contains($haystack, $needle) {
|
|
|
|
|
return $needle !== '' && mb_strpos($haystack, $needle) !== false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function get_ajax_blog_single_post()
|
|
|
|
|
{
|
|
|
|
|
global $post;
|
|
|
|
|
$blog_posts_offset = ($_POST['offset']) ? $_POST['offset'] : 0;
|
|
|
|
|
$blog_posts_exclude = ($_POST['sameid']);
|
|
|
|
|
|
|
|
|
|
$args = array(
|
|
|
|
|
'category_name' => 'Blog Post',
|
|
|
|
|
'numberposts' => 1,
|
|
|
|
|
'exclude' => $blog_posts_exclude,
|
|
|
|
|
'offset' => $blog_posts_offset,
|
|
|
|
|
'meta_query' => array(
|
|
|
|
|
'relation' => 'AND',
|
|
|
|
|
'post_count_all_rule' => array(
|
|
|
|
|
'key' => 'post_count_all',
|
|
|
|
|
'compare' => 'EXISTS',
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
'orderby' => array(
|
|
|
|
|
'date' => 'DESC',
|
|
|
|
|
'post_count_all_rule' => 'DESC',
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if(($_POST['tag'])&&($_POST['tag']!='all')){
|
|
|
|
|
$args['tag'] = $_POST['tag'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$blog_posts = get_posts($args);
|
|
|
|
|
$response = '';
|
|
|
|
|
|
|
|
|
|
if ($blog_posts) {
|
|
|
|
|
ob_start();
|
|
|
|
|
foreach ($blog_posts as $blog_post) {
|
|
|
|
|
|
|
|
|
|
$post = $blog_post;
|
|
|
|
|
// var_dump($post);
|
|
|
|
|
$ID = $post->ID;
|
|
|
|
|
setup_postdata($post);
|
|
|
|
|
$title = get_the_title($ID);
|
|
|
|
|
$url = get_the_permalink($ID);
|
|
|
|
|
$response .= get_template_part('template-parts/ajax_post');
|
|
|
|
|
$description = get_post_meta($ID, '_yoast_wpseo_metadesc', true);
|
|
|
|
|
|
|
|
|
|
wp_reset_postdata();
|
|
|
|
|
}
|
|
|
|
|
$response = ob_get_clean();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($response)
|
|
|
|
|
{
|
|
|
|
|
$results['results'] = true;
|
|
|
|
|
$results['content'] = $response;
|
|
|
|
|
$results['title'] = $title;
|
|
|
|
|
$results['url'] = trim($url);
|
|
|
|
|
$results['ID'] = $ID;
|
|
|
|
|
$results['description'] = $description;
|
|
|
|
|
} else {
|
|
|
|
|
$results['results'] = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo json_encode($results, JSON_UNESCAPED_UNICODE);
|
|
|
|
|
die;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action('wp_ajax_get_ajax_blog_single_post', 'get_ajax_blog_single_post');
|
|
|
|
|
add_action('wp_ajax_nopriv_get_ajax_blog_single_post', 'get_ajax_blog_single_post');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action( 'save_post', 'update_blog_meta' );
|
|
|
|
|
function update_blog_meta( $post_id ) {
|
|
|
|
|
|
|
|
|
|
$slug = 'post';
|
|
|
|
|
if ( $slug != $_POST['post_type'] ) return;
|
|
|
|
|
|
|
|
|
|
$rate = get_post_meta ( $post_id, 'post_count_' . $post_id, true);
|
|
|
|
|
update_post_meta( $post_id, 'post_count_all', $rate);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function allstylesBVN() {
|
|
|
|
|
|
|
|
|
|
wp_enqueue_style( 'allstyles', get_template_directory_uri() . '/css/allstyles.css', array(), '1.0.1' );
|
|
|
|
|
wp_enqueue_style( 'slider-style', get_template_directory_uri() . '/css/lightslider.min.css', array(), 1 );
|
|
|
|
|
}
|
|
|
|
|
add_action( 'wp_enqueue_scripts', 'allstylesBVN', 200 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function newstylesBVN() {
|
|
|
|
|
|
|
|
|
|
wp_enqueue_style( 'newstyles', get_template_directory_uri() . '/css/newstyles.css', array(), rand(0,9999) );
|
|
|
|
|
}
|
|
|
|
|
add_action( 'wp_enqueue_scripts', 'newstylesBVN', 200 );
|
|
|
|
|
|
|
|
|
|
function sliderscript() {
|
|
|
|
|
wp_enqueue_script( 'slider-script', get_template_directory_uri() . '/js/lightslider.min.js', array(), 1, true );
|
|
|
|
|
}
|
|
|
|
|
// add_action( 'wp_enqueue_scripts', 'sliderscript', 50 );
|
|
|
|
|
|
|
|
|
|
function mainScript() {
|
|
|
|
|
wp_enqueue_script( 'main-script', get_template_directory_uri() . '/js/main.js', array(), 1, true );
|
|
|
|
|
}
|
|
|
|
|
// add_action( 'wp_enqueue_scripts', 'mainScript', 100 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wp_localize_script('main-script', 'siteVars', array(
|
|
|
|
|
// 'query' => array(
|
|
|
|
|
// 'raw_vars' => $wp_query->query_vars,
|
|
|
|
|
// 'vars' => json_encode($wp_query->query_vars), // everything about your loop is here
|
|
|
|
|
// 'current_page' => get_query_var('paged') ? get_query_var('paged') : 1,
|
|
|
|
|
// 'max_page' => $wp_query->max_num_pages,
|
|
|
|
|
// ),
|
|
|
|
|
'site' => array(
|
|
|
|
|
'url' => site_url(),
|
|
|
|
|
'ajax' => admin_url('admin-ajax.php'),
|
|
|
|
|
),
|
|
|
|
|
// 'translate' => array(
|
|
|
|
|
// 'wl_add_text' => __("Added to the wish list", gV('slug')),
|
|
|
|
|
// 'wl_remove_text' => __("Removed from the wish list", gV('slug')),
|
|
|
|
|
// ),
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
remove_filter('pre_user_description', 'wp_filter_kses');
|
|
|
|
|
add_filter( 'pre_user_description', 'wp_filter_post_kses' );
|
|
|
|
|
|
|
|
|
|
function change_contact_info($contactmethods) {
|
|
|
|
|
unset($contactmethods['pinterest']);
|
|
|
|
|
unset($contactmethods['soundcloud']);
|
|
|
|
|
$contactmethods['tumblr'] = 'Telegram';
|
|
|
|
|
$contactmethods['twitter'] = 'Twitter';
|
|
|
|
|
$contactmethods['facebook'] = 'Facebook';
|
|
|
|
|
$contactmethods['linkedin'] = 'Вконтакте';
|
|
|
|
|
$contactmethods['myspace'] = 'Одноклассники';
|
|
|
|
|
return $contactmethods;
|
|
|
|
|
}
|
|
|
|
|
add_filter('user_contactmethods','change_contact_info',10,1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Добавляем attached iamge url в REST API endpointЫ с ключом images
|
|
|
|
|
|
|
|
|
|
function ws_register_images_field() {
|
|
|
|
|
register_rest_field(
|
|
|
|
|
'post',
|
|
|
|
|
'images',
|
|
|
|
|
array(
|
|
|
|
|
'get_callback' => 'ws_get_images_urls',
|
|
|
|
|
'update_callback' => null,
|
|
|
|
|
'schema' => null,
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_action( 'rest_api_init', 'ws_register_images_field' );
|
|
|
|
|
|
|
|
|
|
function ws_get_images_urls( $object, $field_name, $request ) {
|
|
|
|
|
$medium = wp_get_attachment_image_src( get_post_thumbnail_id( $object->id ), 'medium' );
|
|
|
|
|
$medium_url = $medium['0'];
|
|
|
|
|
|
|
|
|
|
$large = wp_get_attachment_image_src( get_post_thumbnail_id( $object->id ), 'large' );
|
|
|
|
|
$large_url = $large['0'];
|
|
|
|
|
|
|
|
|
|
return array(
|
|
|
|
|
'medium' => $medium_url,
|
|
|
|
|
'large' => $large_url,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_filter( 'cancel_comment_reply_link', '__return_false' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Добавляем имя автора в REST API endpointЫ с ключом author_name
|
|
|
|
|
if(!function_exists('add_post_autor_field')){
|
|
|
|
|
function add_post_autor_field($response, $post) {
|
|
|
|
|
$response->data['author_name'] = get_the_author_meta( 'display_name' , $post->author );
|
|
|
|
|
return $response;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_filter('rest_prepare_post', 'add_post_autor_field', 10, 3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Добавляем галочки к субменю в меню с id=2
|
|
|
|
|
add_filter( 'walker_nav_menu_start_el', 'parent_menu_dropdown', 10, 4 );
|
|
|
|
|
function parent_menu_dropdown( $item_output, $item, $depth, $args ) {
|
|
|
|
|
|
|
|
|
|
if ( is_nav_menu( 2 ) && ! empty( $item->classes ) && in_array( 'menu-item-has-children', $item->classes ) ) {
|
|
|
|
|
return $item_output . '<span class="mobile-submenu__toggle"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-hidden="true" class="v-icon__svg"><path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"></path></svg></span>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $item_output;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Remove Gutenberg Block Library CSS from loading on the frontend
|
|
|
|
|
function smartwp_remove_wp_block_library_css(){
|
|
|
|
|
wp_dequeue_style( 'wp-block-library' );
|
|
|
|
|
wp_dequeue_style( 'wp-block-library-theme' );
|
|
|
|
|
wp_dequeue_style( 'wc-blocks-style' ); // Remove WooCommerce block CSS
|
|
|
|
|
}
|
|
|
|
|
add_action( 'wp_enqueue_scripts', 'smartwp_remove_wp_block_library_css', 100 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action( 'wp_enqueue_scripts', 'my_dequeue_style', 99 );
|
|
|
|
|
|
|
|
|
|
function my_dequeue_style(){
|
|
|
|
|
wp_dequeue_style( 'pld-frontend' );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function set_pagination_base () {
|
|
|
|
|
|
|
|
|
|
global $wp_rewrite;
|
|
|
|
|
|
|
|
|
|
$wp_rewrite->pagination_base = '%3F' . 'page=';
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add_action( 'init', 'set_pagination_base' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add_filter( 'paginate_links', function($link){
|
|
|
|
|
// if(is_paged()){$link= str_replace('page/1/', '', $link);}
|
|
|
|
|
// return $link;
|
|
|
|
|
// } );
|
|
|
|
|
|
|
|
|
|
// add_filter( 'redirect_canonical', function ( $redirect_url ) {
|
|
|
|
|
|
|
|
|
|
// if ( is_paged() ) {
|
|
|
|
|
// return false;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// return $redirect_url;
|
|
|
|
|
|
|
|
|
|
// }, 10, 1 );
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
// add_action( 'init', function() {
|
|
|
|
|
// $GLOBALS['wp_rewrite']->pagination_base = '?PAGEN=';
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Removes the canonical redirection
|
|
|
|
|
remove_filter( 'template_redirect', 'redirect_canonical' );
|
|
|
|
|
|
|
|
|
|
// Add custom rewrite rules
|
|
|
|
|
// add_action( 'init', 'my_add_custom_rewrite_rules' );
|
|
|
|
|
// function my_add_custom_rewrite_rules() {
|
|
|
|
|
// // Slug of the target page
|
|
|
|
|
// $page_slug = 'page';
|
|
|
|
|
|
|
|
|
|
// // Page number to replace
|
|
|
|
|
// $page_num = 2;
|
|
|
|
|
|
|
|
|
|
// // Title you wish to replace the page number with
|
|
|
|
|
// $title = 'custom-string';
|
|
|
|
|
|
|
|
|
|
// // Add the custom rewrite rule
|
|
|
|
|
// add_rewrite_rule(
|
|
|
|
|
// '^' . $page_slug . '/' . $title . '/?$',
|
|
|
|
|
// 'index.php?pagename=' . $page_slug . '&page=' . $page_num, 'top'
|
|
|
|
|
// );
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// add_action("init","remove_m_parameter");
|
|
|
|
|
// function remove_m_parameter()
|
|
|
|
|
// {
|
|
|
|
|
// if(isset($_GET['tags']))
|
|
|
|
|
// {
|
|
|
|
|
// unset($_GET['tags']);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
// вставляем изображение записи под первым параграфом
|
|
|
|
|
add_filter( 'the_content', 'insert_featured_image', 20 );
|
|
|
|
|
|
|
|
|
|
function insert_featured_image( $content ) {
|
|
|
|
|
if( !$id ) {
|
|
|
|
|
global $post;
|
|
|
|
|
$id = get_the_id();
|
|
|
|
|
}
|
|
|
|
|
$content = preg_replace( "/<\/p>/", "</p>" . get_the_post_thumbnail($id), $content, 1 );
|
|
|
|
|
// $content = preg_replace( "/<\/p>/", "</p>" . "", $content, 1 );
|
|
|
|
|
$content .= '123';
|
|
|
|
|
return $content;
|
|
|
|
|
wp_reset_postdata();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create a custom excerpt string from the first paragraph of the content.
|
|
|
|
|
*
|
|
|
|
|
* @param integer $id The id of the post
|
|
|
|
|
* @return string $excerpt The excerpt string
|
|
|
|
|
*/
|
|
|
|
|
function wp_first_paragraph_excerpt( $id=null ) {
|
|
|
|
|
// Set $id to the current post by default
|
|
|
|
|
if( !$id ) {
|
|
|
|
|
global $post;
|
|
|
|
|
$id = get_the_id();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Get the post content
|
|
|
|
|
$content = get_post_field( 'post_content', $id );
|
|
|
|
|
$content = apply_filters( 'the_content', strip_shortcodes( $content ) );
|
|
|
|
|
|
|
|
|
|
// Remove all tags, except paragraphs
|
|
|
|
|
$excerpt = strip_tags( $content, '<p></p>' );
|
|
|
|
|
|
|
|
|
|
// Remove empty paragraph tags
|
|
|
|
|
$excerpt = force_balance_tags( $excerpt );
|
|
|
|
|
$excerpt = preg_replace( '#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $excerpt );
|
|
|
|
|
$excerpt = preg_replace( '~\s?<p>(\s| )+</p>\s?~', '', $excerpt );
|
|
|
|
|
|
|
|
|
|
// Get the first paragraph
|
|
|
|
|
$excerpt = substr( $excerpt, 0, strpos( $excerpt, '</p>' ) + 4 );
|
|
|
|
|
|
|
|
|
|
// Remove remaining paragraph tags
|
|
|
|
|
$excerpt = strip_tags( $excerpt );
|
|
|
|
|
|
|
|
|
|
return $excerpt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// //меняем надпись кнопки в форме комментов
|
|
|
|
|
// function change_comment_form_submit_label($arg) {
|
|
|
|
|
// $arg['label_submit'] = 'Оставить комментарий';
|
|
|
|
|
// return $arg;
|
|
|
|
|
// }
|
|
|
|
|
// add_filter('comment_form_defaults', 'change_comment_form_submit_label', 11);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add_filter( 'comment_form_default_fields', 'wpse_62742_comment_placeholders' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Comment Form Placeholder Comment Field
|
|
|
|
|
*/
|
|
|
|
|
function placeholder_comment_form_field($fields) {
|
|
|
|
|
$replace_comment = __('Комментарий', 'yourdomain');
|
|
|
|
|
|
|
|
|
|
$fields['comment_field'] = '<p class="comment-form-comment"><label for="comment">' . _x( 'Комментарий', 'noun' ) .
|
|
|
|
|
'</label><textarea id="comment" name="comment" cols="45" rows="8" placeholder="'.$replace_comment.'" aria-required="true"></textarea></p>';
|
|
|
|
|
|
|
|
|
|
return $fields;
|
|
|
|
|
}
|
|
|
|
|
add_filter( 'comment_form_defaults', 'placeholder_comment_form_field' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_filter( 'comment_form_default_fields', 'wpse_62742_comment_placeholders' );
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Change default fields, add placeholder and change type attributes.
|
|
|
|
|
*
|
|
|
|
|
* @param array $fields
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
function wpse_62742_comment_placeholders( $fields )
|
|
|
|
|
{
|
|
|
|
|
$fields['author'] = str_replace(
|
|
|
|
|
'<input',
|
|
|
|
|
'<input placeholder="'
|
|
|
|
|
/* Replace 'theme_text_domain' with your theme’s text domain.
|
|
|
|
|
* I use _x() here to make your translators life easier. :)
|
|
|
|
|
* See http://codex.wordpress.org/Function_Reference/_x
|
|
|
|
|
*/
|
|
|
|
|
. _x(
|
|
|
|
|
'Имя',
|
|
|
|
|
'comment form placeholder',
|
|
|
|
|
'theme_text_domain'
|
|
|
|
|
)
|
|
|
|
|
. '"',
|
|
|
|
|
$fields['author']
|
|
|
|
|
);
|
|
|
|
|
$fields['email'] = str_replace(
|
|
|
|
|
'<input id="email" name="email" type="text"',
|
|
|
|
|
|
|
|
|
|
'<input type="email" placeholder="Email" id="email" name="email"',
|
|
|
|
|
$fields['email']
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return $fields;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// add_filter( 'the_content', 'insert_featured_image', 20 );
|
|
|
|
|
// function insert_featured_image( $content ) {
|
|
|
|
|
// $feat_img = get_the_post_thumbnail($post->ID, 'post-single');
|
|
|
|
|
// if ( is_single() && ! is_admin() ) {
|
|
|
|
|
// return prefix_insert_after_paragraph( '<div class="incontent-featured-image">' . $feat_img . '</div>', 1, $content );
|
|
|
|
|
// }
|
|
|
|
|
// return $content;
|
|
|
|
|
// }
|
|
|
|
|
// Parent Function that makes the magic happen
|
|
|
|
|
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
|
|
|
|
|
$closing_p = '</p>';
|
|
|
|
|
$paragraphs = explode( $closing_p, $content );
|
|
|
|
|
foreach ($paragraphs as $index => $paragraph) {
|
|
|
|
|
if ( trim( $paragraph ) ) {
|
|
|
|
|
$paragraphs[$index] .= $closing_p;
|
|
|
|
|
}
|
|
|
|
|
if ( $paragraph_id == $index + 1 ) {
|
|
|
|
|
$paragraphs[$index] .= $insertion;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return implode( '', $paragraphs );
|
|
|
|
|
}
|