$name, 'singular_name' => $singular_name, 'post_type' => $post_type, 'slug' => $post_type, 'hierarchical' => true, 'show_in_admin_bar' => true, 'supports' => array('editor', 'thumbnail', 'comments'), 'public' => true, 'has_archive' => true ); fansub_register_post_type($args); } } $args = array( 'name' => 'Batches', 'singular_name' => 'Batch', 'slug' => 'batch', 'hierarchical' => true, 'show_in_admin_bar' => true, 'public' => true, 'has_archive' => true ); fansub_register_post_type($args); $args = array( 'name' => 'Episodes', 'singular_name' => 'Episode', 'slug' => 'episode', 'hierarchical' => true, 'show_in_admin_bar' => true, 'public' => true, 'has_archive' => true ); fansub_register_post_type($args); $args = array( 'name' => 'Videos', 'singular_name' => 'Video', 'slug' => 'video', 'hierarchical' => true, 'show_in_admin_bar' => true, 'public' => true, 'supports' => array('thumbnail', 'editor'), 'has_archive' => true ); fansub_register_post_type($args); } add_action('fansub_post_type_and_taxonomy', 'fansub_kntl_post_type_and_taxonomy', 0); function fansub_kntl_redirect_after_comment($location) { global $wpdb; if (is_page()) { $single_page = fansub_option_get_value('fansub_kntl', 'single_page'); if (get_the_ID() == $single_page) { $location = $_SERVER["HTTP_REFERER"] . "#comment-" . $wpdb->insert_id; } } return $location; } add_filter('comment_post_redirect', 'fansub_kntl_redirect_after_comment', 99); function fansub_kntl_custom_permalink($permalink, $post, $leavename) { $post_type = fansub_kntl_get_post_type(); if ($post_type == $post->post_type) { $page_id = fansub_option_get_value('fansub_kntl', 'single_page'); if (fansub_id_number_valid($page_id)) { remove_filter('post_link', 'fansub_kntl_custom_permalink', 99); $new_link = fansub_kntl_build_single_url($page_id, $post->ID); add_filter('post_link', 'fansub_kntl_custom_permalink', 99, 3); $permalink = $new_link; } } else { if ('batch' == $post->post_type || 'episode' == $post->post_type || 'video' == $post->post_type) { $page_id = fansub_option_get_value('fansub_kntl', 'single_page'); if (fansub_id_number_valid($page_id)) { remove_filter('post_link', 'fansub_kntl_custom_permalink', 99); $post_id = get_post_meta($post->ID, 'animation', true); if (fansub_array_has_value($post_id)) { $post_id = array_shift($post_id); } $new_link = fansub_kntl_build_single_url($page_id, $post_id); add_filter('post_link', 'fansub_kntl_custom_permalink', 99, 3); $permalink = $new_link; } } } return $permalink; } add_filter('post_link', 'fansub_kntl_custom_permalink', 99, 3); function fansub_kntl_post_type_link($url, $post) { $post_type = fansub_kntl_get_post_type(); if ($post_type == $post->post_type || 'batch' == $post->post_type || 'episode' == $post->post_type || 'video' == $post->post_type) { $page_id = fansub_option_get_value('fansub_kntl', 'single_page'); if (fansub_id_number_valid($page_id)) { remove_filter('post_type_link', 'fansub_kntl_post_type_link', 10); $post_id = $post->ID; if ($post_type != $post->post_type) { $post_id = get_post_meta($post->ID, 'animation', true); } if (fansub_array_has_value($post_id)) { $post_id = array_shift($post_id); } $new_link = fansub_kntl_build_single_url($page_id, $post_id); add_filter('post_type_link', 'fansub_kntl_post_type_link', 10, 2); $url = $new_link; } } return $url; } add_filter('post_type_link', 'fansub_kntl_post_type_link', 10, 2); function fansub_kntl_use_chosen_select() { return true; } add_filter('fansub_use_chosen_select', 'fansub_kntl_use_chosen_select'); function fansub_kntl_check_before_post_published($post_id) { global $pagenow; if (!fansub_can_save_post($post_id) || !is_numeric($post_id)) { return; } $post_new = false; if ('post-new.php' == $pagenow) { $post_new = true; } $post_type = fansub_get_current_post_type(); $prevent_publish = false; switch ($post_type) { case 'episode': $animation = get_post_meta($post_id, 'animation', true); $animation = absint($animation); if ($animation < 1 && !$post_new) { $prevent_publish = true; set_transient('fansub_kntl_episode_missing_animation', 1); } break; case 'batch': $episode = get_post_meta($post_id, 'episode', true); $episode = absint($episode); $animation = get_post_meta($post_id, 'animation', true); $animation = absint($animation); if ($episode < 1 && !$post_new && $animation < 1) { $prevent_publish = true; set_transient('fansub_kntl_batch_missing_episode', 1); } break; } if ($prevent_publish && !$post_new) { remove_action('save_post', 'fansub_kntl_check_before_post_published'); if ('trash' != get_post_status($post_id)) { wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); } } else { delete_transient('fansub_kntl_query_new_release'); } } add_action('save_post', 'fansub_kntl_check_before_post_published'); function fansub_kntl_redirect_post_location($location, $post_id) { if (isset($_POST['publish'])) { $status = get_post_status($post_id); if ($status == 'draft') { $location = add_query_arg('message', 10, $location); } } return $location; } add_filter('redirect_post_location', 'fansub_kntl_redirect_post_location', 10, 2); function fansub_kntl_admin_notices() { global $pagenow; if ('post-new.php' == $pagenow) { return; } if (false !== get_transient('fansub_kntl_batch_missing_episode')) { $args = array( 'title' => 'Error', 'text' => 'Please select episode for batch.', 'error' => true ); fansub_admin_notice($args); delete_transient('fansub_kntl_batch_missing_episode'); } elseif (false !== get_transient('fansub_kntl_episode_missing_animation')) { $args = array( 'title' => 'Error', 'text' => 'Please select ' . fansub_kntl_get_post_type() . ' for episode.', 'error' => true ); $post_type = fansub_get_current_post_type(); if ('post.php' == $pagenow && 'episode' == $post_type) { fansub_admin_notice($args); } delete_transient('fansub_kntl_episode_missing_animation'); } } add_action('admin_notices', 'fansub_kntl_admin_notices'); function fansub_kntl_query_vars($vars) { $vars[] = 'animation'; return $vars; } add_filter('query_vars', 'fansub_kntl_query_vars'); function fansub_kntl_rewrite_rules($rules) { $new_rule = array('shows/([^/]+)/?$' => 'index.php?pagename=shows&animation=$matches[1]', 'top'); $rules = $new_rule + $rules; return $rules; } add_filter('rewrite_rules_array', 'fansub_kntl_rewrite_rules'); function fansub_kntl_template_redirect() { if (is_page()) { $permalink_struct = get_option('permalink_structure'); if (empty($permalink_struct)) { return; } $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); $show_page = get_post($single_page); $post_id = get_query_var('page_id'); $pagename = get_query_var('pagename'); if ((fansub_id_number_valid($post_id) && $post_id == $single_page) || ($pagename == $show_page->post_name)) { $query_var = get_query_var('animation'); if (!fansub_id_number_valid($query_var)) { return; } $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $page = get_post($post_id); if (!is_a($page, 'WP_Post')) { $page = get_page_by_path($pagename); } if ('page' == $page->post_type) { $url = trailingslashit(get_permalink($page)); $url .= trailingslashit(trim(sanitize_title_for_query($animation->post_name))); wp_redirect($url); exit; } } } } } } add_action('template_redirect', 'fansub_kntl_template_redirect'); function fansub_kntl_the_title($title, $post_id) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if ($post_id == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $page = get_post($post_id); if ('page' == $page->post_type) { $title = $animation->post_title; if ('private' == $animation->post_status) { $title = 'Private: ' . $title; } elseif (post_password_required($animation)) { $title = 'Protected: ' . $title; } } } } } else { $page = get_post($post_id); if (is_a($page, 'WP_Post')) { if (has_shortcode($page->post_content, 'fansub_release')) { $title = ''; } } } } return $title; } add_filter('the_title', 'fansub_kntl_the_title', 10, 2); function fansub_kntl_yoast_seo_title($title) { if (is_page()) { $post_id = get_the_ID(); $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if ($post_id == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $page = get_post($post_id); if ('page' == $page->post_type) { $title = $animation->post_title; } } } } else { $page = get_post($post_id); if (is_a($page, 'WP_Post')) { if (has_shortcode($page->post_content, 'fansub_release')) { $title = ''; } } } } return $title; } add_filter('wpseo_title', 'fansub_kntl_yoast_seo_title'); function fansub_kntl_custom_body_class($classes) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $classes[] = 'single-animation'; } } } add_filter('body_class', 'fansub_kntl_custom_body_class'); function fansub_kntl_change_wp_title($title, $sep, $seplocation) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $title = $animation->post_title; if (!empty($sep)) { if ('right' == $seplocation) { $title .= ' ' . $sep . ' ' . get_bloginfo('name'); } else { $title = get_bloginfo('name') . ' ' . $sep . ' ' . $title; } } } } } } return $title; } add_filter('wp_title', 'fansub_kntl_change_wp_title', 99, 3); function fansub_kntl_option_saved() { delete_transient('fansub_kntl_query_new_release'); } add_action('fansub_option_saved', 'fansub_kntl_option_saved'); function fansub_kntl_wpseo_opengraph_url($content) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $content = fansub_kntl_build_single_url(get_the_ID(), $animation->ID); } } } } return $content; } add_filter('wpseo_opengraph_url', 'fansub_kntl_wpseo_opengraph_url', 99); add_filter('wpseo_canonical', 'fansub_kntl_wpseo_opengraph_url', 99); function fansub_kntl_wpseo_opengraph_desc($content) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $content = $animation->post_content; $content = wp_strip_all_tags($content); $content = fansub_substr($content, 165); } } } } return $content; } add_filter('wpseo_opengraph_desc', 'fansub_kntl_wpseo_opengraph_desc', 99); function fansub_kntl_wpseo_opengraph_title($content) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $content = $animation->post_title . ' - ' . get_bloginfo('name'); } } } } return $content; } add_filter('wpseo_opengraph_title', 'fansub_kntl_wpseo_opengraph_title', 99); add_filter('wpseo_twitter_title', 'fansub_kntl_wpseo_opengraph_title', 99); function fansub_kntl_wpseo_opengraph_image($content) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $content = fansub_get_post_thumbnail_url($animation->ID); } } } } return $content; } add_filter('wpseo_opengraph_image', 'fansub_kntl_wpseo_opengraph_image', 99); function fansub_kntl_amt_metadata_head($metadata_arr) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { if (fansub_array_has_value($metadata_arr)) { $tmp_metas = array(); $has_og_image = false; $has_og_description = false; foreach ($metadata_arr as $metadata) { $property = fansub_get_tag_attr('meta', 'property', $metadata); if (empty($property)) { $property = fansub_get_tag_attr('meta', 'name', $metadata); } switch ($property) { case 'og:url': $url = fansub_kntl_build_single_url(get_the_ID(), $animation->ID); $metadata = fansub_change_tag_attribute($metadata, 'content', $url); break; case 'og:updated_time': $metadata = fansub_change_tag_attribute($metadata, 'content', get_post_modified_time('c', true, $animation)); break; case 'article:published_time': $metadata = fansub_change_tag_attribute($metadata, 'content', get_post_time('c', true, $animation)); break; case 'article:modified_time': $metadata = fansub_change_tag_attribute($metadata, 'content', get_post_modified_time('c', true, $animation)); break; case 'og:image': $has_og_image = true; $metadata = fansub_change_tag_attribute($metadata, 'content', fansub_get_post_thumbnail_url($animation->ID)); break; case 'og:description': $has_og_description = true; $content = $animation->post_content; $content = wp_strip_all_tags($content); $content = fansub_substr($content, 165); $metadata = fansub_change_tag_attribute($metadata, 'content', $content); break; } $tmp_metas[] = $metadata; } if (!$has_og_image) { $tmp_metas[] = ''; } if (!$has_og_description) { $content = $animation->post_content; $content = wp_strip_all_tags($content); $content = fansub_substr($content, 165); $tmp_metas[] = ''; } $metadata_arr = $tmp_metas; } } } } } return $metadata_arr; } add_filter('amt_metadata_head', 'fansub_kntl_amt_metadata_head', 99); function fansub_kntl_single_shortlink($shortlink, $id, $context, $allow_slugs) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if (get_the_ID() == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { remove_filter('pre_get_shortlink', 'fansub_kntl_single_shortlink', 99); $shortlink = wp_get_shortlink($id); add_filter('pre_get_shortlink', 'fansub_kntl_single_shortlink', 99, 4); $shortlink = add_query_arg(array('animation' => $animation->ID), $shortlink); } } } } return $shortlink; } add_filter('pre_get_shortlink', 'fansub_kntl_single_shortlink', 99, 4); remove_action('wp_head', 'rel_canonical'); add_action('wp_head', 'fansub_rel_canonical'); function fansub_kntl_change_head_rel_canonical($link, $id) { if (is_page()) { $option_data = fansub_kntl_get_option(); $single_page = fansub_get_value_by_key($option_data, 'single_page'); if ($id == $single_page) { $animation = fansub_kntl_get_current_animation_single(); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { $link = fansub_kntl_build_single_url($id, $animation->ID); } } } } return $link; } add_filter('fansub_head_rel_canonical', 'fansub_kntl_change_head_rel_canonical', 99, 2); function fansub_kntl_get_edit_post_link($link, $post_id, $context) { if (is_page()) { $page = get_post($post_id); if ('shows' == $page->post_name) { $qa = fansub_kntl_get_current_animation_single(); $animate = get_post($qa); if (is_a($animate, 'WP_Post')) { $link = admin_url('post.php?post=' . $animate->ID . '&action=edit'); } } } return $link; } add_filter('get_edit_post_link', 'fansub_kntl_get_edit_post_link', 99, 3); function fansub_kntl_custom_scripts() { wp_register_script('scrollstop', FANSUB_KNTL_URL . '/lib/lazyload/jquery.scrollstop.min.js', array('jquery'), false, true); wp_enqueue_script('lazyload', FANSUB_KNTL_URL . '/lib/lazyload/jquery.lazyload.min.js', array( 'jquery', 'scrollstop' ), false, true); wp_enqueue_style('fancybox-style', FANSUB_KNTL_URL . '/lib/fancybox/jquery.fancybox.css'); wp_enqueue_script('fancybox', FANSUB_KNTL_URL . '/lib/fancybox/jquery.fancybox.pack.js', array('jquery'), false, true); wp_enqueue_style('bxslider-style', FANSUB_KNTL_URL . '/lib/bxslider/jquery.bxslider.css'); wp_enqueue_script('bxslider', FANSUB_KNTL_URL . '/lib/bxslider/jquery.bxslider.min.js', array('jquery'), false, true); global $wp_scripts; $ui = $wp_scripts->query('jquery-ui-core'); $protocol = is_ssl() ? 'https' : 'http'; $url = "$protocol://ajax.googleapis.com/ajax/libs/jqueryui/{$ui->ver}/themes/smoothness/jquery-ui.min.css"; wp_enqueue_style('jquery-ui-style', $url); wp_enqueue_script('jquery-ui-autocomplete'); wp_enqueue_style('dashicons'); } add_action('wp_enqueue_scripts', 'fansub_kntl_custom_scripts'); function fansub_kntl_custom_redirect_single_animation() { if (is_preview()) { return; } $post_type = fansub_kntl_get_post_type(); if (is_singular($post_type) || is_singular('batch') || is_singular('episode') || is_singular('video')) { global $post; $single_page = fansub_option_get_value('fansub_kntl', 'single_page'); if (fansub_id_number_valid($single_page)) { $post_id = $post->ID; if ($post_type != $post->post_type) { $post_id = get_post_meta($post_id, 'animation'); if (fansub_array_has_value($post_id)) { $post_id = array_shift($post_id); } } $permalink = fansub_kntl_build_single_url($single_page, $post_id); wp_redirect($permalink); exit; } } } add_action('wp', 'fansub_kntl_custom_redirect_single_animation'); function fansub_kntl_custom_admin_scripts() { wp_enqueue_media(); wp_enqueue_script('zeroclipboard', FANSUB_KNTL_URL . '/lib/zeroclipboard/ZeroClipboard.min.js', array('jquery'), false, true); } add_action('admin_enqueue_scripts', 'fansub_kntl_custom_admin_scripts'); function fansub_kntl_custom_posts_columns($columns) { global $post_type; switch ($post_type) { case 'batch': $columns['animation'] = __('Animation', 'fansub-horriblesubs'); $columns['episode'] = __('Episode', 'fansub-horriblesubs'); break; case 'episode': $columns['animation'] = __('Animation', 'fansub-horriblesubs'); break; } return $columns; } add_filter('manage_posts_columns', 'fansub_kntl_custom_posts_columns', 99); function fansub_kntl_custom_posts_custom_column($column, $post_id) { switch ($column) { case 'animation': $animation = get_post_meta($post_id, 'animation', true); if (fansub_id_number_valid($animation)) { $animation = get_post($animation); if (is_a($animation, 'WP_Post')) { echo $animation->post_title; } } break; case 'episode': $episode = get_post_meta($post_id, 'episode', true); if (fansub_id_number_valid($episode)) { $episode = get_post($episode); if (is_a($episode, 'WP_Post')) { echo $episode->post_title; } } break; } } add_action('manage_batch_posts_custom_column', 'fansub_kntl_custom_posts_custom_column', 10, 2); add_action('manage_episode_posts_custom_column', 'fansub_kntl_custom_posts_custom_column', 10, 2); function fansub_ph_add_query_vars($vars) { $vars[] = 'go'; return $vars; } add_filter('query_vars', 'fansub_ph_add_query_vars'); function fansub_ph_init() { add_rewrite_endpoint('go', EP_ALL); //add_rewrite_rule('^go/([^/]*)/?)', 'index.php?go=$matches[1]', 'top'); } add_action('init', 'fansub_ph_init', 0); function fansub_ph_custom_template_redirect() { $go = get_query_var('go'); if (!empty($go)) { $go = base64_decode($go); $parts = explode('|', $go); if (is_array($parts) && count($parts) == 2) { $url = $parts[1]; if (filter_var($url, FILTER_VALIDATE_URL)) { wp_redirect($url); exit; } } } else { return; } if (empty($go)) { $go = fansub_get_method_value('link', 'get'); $parts = explode('p=', $go); if (is_array($parts) && count($parts) == 2) { $post_id = $parts[1]; if (fansub_id_number_valid($post_id)) { $post = get_post($post_id); if (is_a($post, 'WP_Post')) { $click_count = get_post_meta($post_id, 'click_count', true); $click_count = absint($click_count); $click_count++; update_post_meta($post_id, 'click_count', $click_count); } } } } if (fansub_id_number_valid($go)) { $post = get_post($go); if (is_a($post, 'WP_Post')) { $click_count = get_post_meta($go, 'click_count', true); $click_count = absint($click_count); $click_count++; update_post_meta($go, 'click_count', $click_count); wp_redirect(wp_get_shortlink($post)); exit; } } elseif (filter_var($go, FILTER_VALIDATE_URL)) { wp_redirect($go); exit; } elseif (!empty($go)) { $query = fansub_get_post_by_meta('shortlink', $go); if ($query->have_posts()) { $post = array_shift($query->posts); $post_id = $post->ID; $click_count = get_post_meta($post_id, 'click_count', true); $click_count = absint($click_count); $click_count++; update_post_meta($post_id, 'click_count', $click_count); wp_redirect(wp_get_shortlink($post)); exit; } } } add_action('wp', 'fansub_ph_custom_template_redirect'); function fansub_ph_on_admin_init() { global $pagenow; if ('admin.php' == $pagenow) { $page = fansub_get_method_value('page', 'get'); if ('fansub_kntl' == $page) { $options = get_option('fansub_kntl'); $fb_app_id = fansub_get_value_by_key($options, 'fb_app_id'); if (!empty($fb_app_id)) { $fb_code = fansub_get_value_by_key($options, 'fb_code'); if (empty($fb_code)) { $fb_app_secret = fansub_get_value_by_key($options, 'fb_app_secret'); $fb_redirect_uri = fansub_get_value_by_key($options, 'fb_redirect_uri'); if (empty($fb_redirect_uri)) { $protocol = isset($_SERVER['HTTPS']) ? 'https' : 'http'; $protocol .= '://'; $fb_redirect_uri = $protocol; if (isset($_SERVER['HTTP_HOST'])) { $fb_redirect_uri .= $_SERVER['HTTP_HOST']; if (isset($_SERVER['REQUEST_URI'])) { $fb_redirect_uri .= $_SERVER['REQUEST_URI']; } } } $url = 'https://www.facebook.com/dialog/oauth'; $params = array( 'client_id' => $fb_app_id, 'redirect_uri' => $fb_redirect_uri, 'scope' => 'manage_pages,publish_actions' ); $url = add_query_arg($params, $url); } } } } } add_action('admin_init', 'fansub_ph_on_admin_init'); function fansub_ph_auto_post_facebook($post_id) { if (!fansub_can_save_post($post_id)) { return; } $post = get_post($post_id); $new_status = $post->post_status; $post_type = fansub_ph_get_auto_facebook_post_types(); if (in_array($post->post_type, $post_type) && 'publish' == $new_status && isset($_POST['auto_facebook']) && 1 == $_POST['auto_facebook']) { $options = get_option('fansub_kntl'); $fb_app_id = fansub_get_value_by_key($options, 'fb_app_id'); if (!empty($fb_app_id)) { $fb_app_secret = fansub_get_value_by_key($options, 'fb_app_secret'); if (!empty($fb_app_secret)) { $fb_access_token = fansub_get_value_by_key($options, 'fb_access_token'); if (!empty($fb_access_token)) { $auto_facebook = get_post_meta($post_id, 'auto_facebook', true); if (1 != $auto_facebook) { require_once(FANSUB_KNTL_PATH . '/lib/Facebook/autoload.php'); $fb = new Facebook\Facebook([ 'app_id' => $fb_app_id, 'app_secret' => $fb_app_secret, 'default_graph_version' => 'v2.9', ]); $linkData = [ 'link' => esc_url(get_permalink($post)), 'message' => $post->post_title, 'privacy' => json_encode(array('value' => 'EVERYONE')) ]; $response = null; try { $response = $fb->post('/me/feed', $linkData, $fb_access_token); } catch (Facebook\Exceptions\FacebookResponseException $e) { } catch (Facebook\Exceptions\FacebookSDKException $e) { } if ($response) { update_post_meta($post_id, 'auto_facebook', 1); } } } } } } } add_action('save_post', 'fansub_ph_auto_post_facebook', 99);