post_name . time() . '.md'; $file = fopen($filepath, 'w'); $converted = LBRY()->network->parser->convert_to_markdown($post); $write_status = $file && fwrite($file, $converted); fclose($file); try { if (!$write_status) { throw new \Exception('Write Status failure', 1); } // If everything went well with the conversion, carry on $args = array( 'name' => $post->post_name, 'bid' => number_format(floatval(get_option(LBRY_SETTINGS)[LBRY_LBC_PUBLISH]), 2, '.', ''), 'file_path' => $filepath, 'title' => $post->post_title, 'languages' => array(substr(get_locale(), 0, 2)), 'license' => get_option(LBRY_SETTINGS)[LBRY_LICENSE] ); // Setup channel if ($channel && $channel != 'null') { $args['channel_id'] = $channel; } // Setup featured image $featured_id = get_post_thumbnail_id($post); $featured_image = wp_get_attachment_image_src($featured_id, 'medium'); if ($featured_image[0]) { $args['thumbnail_url'] = $featured_image[0]; } // Setup Tags $tags = get_the_terms( $post, 'post_tag' ); if ($tags) { $tag_names = []; foreach ($tags as $tag) { $tag_names[] = $tag->name; } $args['tags'] = $tag_names; } // Build description using Yoast if installed and its used, excerpt/title otherwise $description = false; if (class_exists('WPSEO_META')) { $description = WPSEO_META::get_value('opengraph-description', $post->ID); } if (!$description) { $excerpt = get_the_excerpt($post); $description = $excerpt ? $excerpt : $post->post_title; } $description .= ' | Originally published at ' . get_permalink($post); $args['description'] = $description; $result = LBRY()->daemon->publish($args); $outputs = $result->outputs; if ($outputs && is_array($outputs)) { update_post_meta($post->ID, LBRY_PERM_URL, $result->outputs[0]->permanent_url); } } catch (Exception $e) { error_log('Issue publishing post ' . $post->ID . ' to LBRY: ' . $e->getMessage()); } finally { //Delete the temporary markdown file unlink($filepath); } } }