WSP-29 WP author byline by

This commit is contained in:
Filip Penkava
2017-01-20 10:07:15 +01:00
parent 3cebf005c3
commit 8a19a64615
3 changed files with 48 additions and 2 deletions

View File

@@ -30,6 +30,7 @@ function mvp_admin() {
'client_id' => $_POST['client_id'], 'client_id' => $_POST['client_id'],
'status' => $_POST['status'], 'status' => $_POST['status'],
'author' => $_POST['author'], 'author' => $_POST['author'],
'author-byline' => $_POST['author-byline'],
'category' => $_POST['category'], 'category' => $_POST['category'],
); );
update_option('mvp_settings', $settings); update_option('mvp_settings', $settings);
@@ -43,6 +44,7 @@ function mvp_admin() {
'password' => '', 'password' => '',
'status' => 'publish', 'status' => 'publish',
'author' => '', 'author' => '',
'author-byline' => '',
'category' => '', 'category' => '',
); );
} }
@@ -138,7 +140,7 @@ function mvp_admin() {
<label for="author">Author</label> <label for="author">Author</label>
</th> </th>
<td> <td>
<select name="author" id="author"> <select name="author" id="author" <?php echo ($settings['author-byline']) ? 'disabled="true"' : ""; ?>>
<?php <?php
foreach ($authors as $key => $value) { foreach ($authors as $key => $value) {
?> ?>
@@ -151,6 +153,10 @@ function mvp_admin() {
} }
?> ?>
</select> </select>
<br /><br />
<label>
<input type="checkbox" name="author-byline" <?php echo ($settings['author-byline']) ? "checked" : ""; ?> onclick="setAuthor()"> Show byline in posts
</label>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -180,5 +186,10 @@ function mvp_admin() {
</p> </p>
</form> </form>
</div> </div>
<script type="text/javascript">
function setAuthor() {
console.log('zavolano');
}
</script>
<?php <?php
} }

View File

@@ -30,12 +30,35 @@ if ($obj['type'] == 'composite') {
wp_update_post($edit_post); wp_update_post($edit_post);
} else { } else {
if ($settings['author-byline'] && $settings['author-byline'] == 'on') {
$author_name = str_replace("By ", "", $obj['byline']);
$authorExist = $wpdb->get_row("SELECT ID user_id FROM " . $wpdb->prefix . DB_TABLE_USERS . " WHERE display_name = '" . wp_strip_all_tags($author_name) . "'");
if (!$authorExist) {
$table_name = $wpdb->prefix . DB_TABLE_USERS;
$userArray = array(
'user_login' => strtolower(str_replace(" ", "-", $author_name)),
'user_pass' => generatePassword(),
'display_name' => wp_strip_all_tags($author_name)
);
$author_id = wp_insert_user($userArray);
} else {
$author_id = $authorExist->user_id;
}
} else {
$author_id = $settings['author'];
}
$postarr = array( $postarr = array(
'post_title' => wp_strip_all_tags($obj['headline']), 'post_title' => wp_strip_all_tags($obj['headline']),
'post_name' => wp_strip_all_tags($obj['headline']), 'post_name' => wp_strip_all_tags($obj['headline']),
'post_content' => $content, 'post_content' => $content,
'post_content_filtered' => $content, 'post_content_filtered' => $content,
'post_author' => (int) $settings['author'], 'post_author' => (int) $author_id,
'post_status' => $settings['status'], 'post_status' => $settings['status'],
'post_category' => $settings['category'], 'post_category' => $settings['category'],
); );

12
mvp.php
View File

@@ -26,6 +26,7 @@ define('MVP_PLUGIN_URL', untrailingslashit(plugins_url('', MVP_PLUGIN)));
define('MVP_DATABASE_VERSION', '2'); define('MVP_DATABASE_VERSION', '2');
define('DB_TABLE_SYNC_POST', 'sync_posts'); define('DB_TABLE_SYNC_POST', 'sync_posts');
define('DB_TABLE_USERS', 'users');
require_once MVP_PLUGIN_DIR . '/settings.php'; require_once MVP_PLUGIN_DIR . '/settings.php';
@@ -69,5 +70,16 @@ function saveFile($from, $to) {
fclose($fp); fclose($fp);
} }
function generatePassword() {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%./\@';
$charactersLength = strlen($characters);
$password = '';
for ($i = 0; $i < 8; $i++) {
$password .= $characters[rand(0, $charactersLength - 1)];
}
$password = $password . strtotime("now");
return $password;
}
register_activation_hook(__FILE__, 'mvp_database_install'); register_activation_hook(__FILE__, 'mvp_database_install');
add_action('plugins_loaded', 'mvp_database_update'); add_action('plugins_loaded', 'mvp_database_update');