public static function the_content($content) { global $post; $medium_post = Medium_Post::get_by_wp_id($post->ID); if ($medium_post->id && $medium_post->cross_link) { $content = Medium_View::render("content-cross-linked", array("content" => $content, "medium_post" => $medium_post)); } return $content; }
public static function add_syn_plugins($urls) { $see_on = array(); if (class_exists('Social')) { $see_on = array_merge($see_on, self::add_links_from_social()); } elseif (defined('NextScripts_SNAP_Version')) { $see_on = array_merge($see_on, self::add_links_from_SNAP()); } // Support for the Official Medium Plugin per request @chrisaldrich if (class_exists('Medium_Post')) { $medium_post = Medium_Post::get_by_wp_id(get_the_ID()); $see_on[] = $medium_post->url; } return array_merge($see_on, $urls); }
public static function the_content($content) { global $post; if (!is_single() || !is_main_query()) { return $content; } $medium_post = Medium_Post::get_by_wp_id($post->ID); if ($medium_post->id && $medium_post->cross_link) { // We cannot directly render here because the_content filters are also // executed for the_excerpt (!). Best solution is a shortcode that we // then render, as shortcodes are ignored by the_excerpt. // @see https://github.com/Medium/medium-wordpress-plugin/issues/32 // @see https://github.com/Medium/medium-wordpress-plugin/issues/29 $content .= '[medium_cross_link url="' . $medium_post->url . '"]'; } return $content; }
/** * Callback that renders the Cross-post meta box. */ public static function meta_box_callback($post, $args) { global $current_user; $medium_logo_url = MEDIUM_PLUGIN_URL . 'i/logo.png'; $medium_post = Medium_Post::get_by_wp_id($post->ID); $medium_user = Medium_User::get_by_wp_id($post->post_author); if ($medium_post->id) { // Already connected. if ($medium_user->id) { $medium_post->author_url = $medium_user->url; $medium_post->author_image_url = $medium_user->image_url; } Medium_View::render("form-post-box-linked", array("medium_post" => $medium_post, "medium_logo_url" => $medium_logo_url)); } else { if ($medium_user->token && $medium_user->id) { // Can be connected. if (!$medium_post->license) { $medium_post->license = $medium_user->default_license; } if (!$medium_post->status) { $medium_post->status = $medium_user->default_status; } if (!$medium_post->cross_link) { // Default to no cross-linking, per WordPress guidelines. $medium_post->cross_link = $medium_user->default_cross_link; } $options_visibility_class = $medium_post->status == "none" ? "hidden" : ""; Medium_View::render("form-post-box-actions", array("medium_post" => $medium_post, "medium_user" => $medium_user, "medium_logo_url" => $medium_logo_url, "medium_post_statuses" => self::_get_post_statuses(), "medium_post_licenses" => self::_get_post_licenses(), "medium_post_cross_link_options" => self::_get_post_cross_link_options(), "options_visibility_class" => $options_visibility_class)); } else { // Needs token. Medium_View::render("form-post-box-actions-disabled", array("edit_profile_url" => get_edit_user_link($current_user->ID) . '#medium')); } } }
/** * Callback that renders the Cross-post meta box. */ public static function meta_box_callback($post, $args) { global $current_user; $medium_logo_url = MEDIUM_PLUGIN_URL . 'i/logo.png'; $medium_post = Medium_Post::get_by_wp_id($post->ID); $medium_user = Medium_User::get_by_wp_id($post->post_author); if ($medium_post->id) { // Already connected. if ($medium_user->id) { $medium_post->author_url = $medium_user->url; $medium_post->author_image_url = $medium_user->image_url; } Medium_View::render("form-post-box-linked", array("medium_post" => $medium_post, "medium_logo_url" => $medium_logo_url)); } else { if ($medium_user->token && $medium_user->id) { // Can be connected. if (!$medium_post->license) { $medium_post->license = $medium_user->default_license; } if (!$medium_post->cross_link) { // Default to no cross-linking, per WordPress guidelines. $medium_post->cross_link = $medium_user->default_cross_link; } if (!$medium_post->follower_notification) { // Default to notifying Medium followers. $medium_post->follower_notification = $medium_user->default_follower_notification; } if (!$medium_post->publication_id) { // Default to none. $medium_post->publication_id = $medium_user->default_publication_id ? $medium_user->default_publication_id : NO_PUBLICATION; } $publication_options = self::_get_user_publication_options($medium_user); $publishable = $publication_options[$medium_post->publication_id]->publishable; if (!$medium_post->status) { $medium_post->status = $medium_user->default_status; } if (($medium_post->status == "unlisted" || $medium_post->status == "public") && !$publishable) { $medium_post->status = "draft"; } $options_visibility_class = $medium_post->status == "none" ? "hidden" : ""; Medium_View::render("form-post-box-actions", array("medium_post" => $medium_post, "medium_user" => $medium_user, "medium_logo_url" => $medium_logo_url, "medium_post_statuses" => self::_get_post_statuses(), "medium_post_licenses" => self::_get_post_licenses(), "medium_boolean_options" => self::_get_boolean_options(), "medium_publication_options" => $publication_options, "options_visibility_class" => $options_visibility_class, "default_publication_publishable" => $publishable)); } else { // Needs token. Medium_View::render("form-post-box-actions-disabled", array("edit_profile_url" => get_edit_user_link($current_user->ID) . '#medium')); } } }