Я опубликовал сообщение в своем блоге, и что-то пошло не так при передаче, и сообщение не было отправлено по электронной почте, в Facebook, на LinkedIn и т. д. Но теперь, когда сообщение опубликовано, я не могу вернуться и установить флажки, чтобы разрешить мне публиковать сообщения. в фейсбук. Что мне нужно взломать в следующем коде, чтобы я мог переключать флажки?
private function get_metabox_form_connected( $connections_data ) {
global $post;
$all_done = $this->publicize->post_is_done_sharing();
$all_connections_done = true;
ob_start();
?>
<div id = "publicize-form" class = "hide-if-js">
<ul>
<?php
foreach ( $connections_data as $connection_data ) {
$all_connections_done = $all_connections_done && $connection_data['done'];
?>
<li>
<label for = "wpas-submit-<?php echo esc_attr( $connection_data['unique_id'] ); ?>">
<input
type = "checkbox"
name = "wpas[submit][<?php echo esc_attr( $connection_data['unique_id'] ); ?>]"
id = "wpas-submit-<?php echo esc_attr( $connection_data['unique_id'] ); ?>"
class = "wpas-submit-<?php echo esc_attr( $connection_data['service_name'] ); ?>"
value = "1"
<?php
checked( true, $connection_data['enabled'] );
disabled( false, $connection_data['toggleable'] );
?>
/>
<?php if ( $connection_data['enabled'] && ! $connection_data['toggleable'] ) : // Need to submit a value to force a global connection to POST ?>
<input
type = "hidden"
name = "wpas[submit][<?php echo esc_attr( $connection_data['unique_id'] ); ?>]"
value = "1"
/>
<?php endif; ?>
<?php echo esc_html( $this->connection_label( $connection_data['service_label'], $connection_data['display_name'] ) ); ?>
</label>
</li>
<?php
}
$title = get_post_meta( $post->ID, $this->publicize->POST_MESS, true );
if ( ! $title ) {
$title = '';
}
$all_done = $all_done || $all_connections_done;
?>
</ul>
<label for = "wpas-title"><?php _e( 'Custom Message:', 'jetpack' ); ?></label>
<span id = "wpas-title-counter" class = "alignright hide-if-no-js">0</span>
<textarea name = "wpas_title" id = "wpas-title"<?php disabled( $all_done ); ?>><?php echo esc_textarea( $title ); ?></textarea>
<a href = "#" class = "hide-if-no-js button" id = "publicize-form-hide"><?php esc_html_e( 'OK', 'jetpack' ); ?></a>
<input type = "hidden" name = "wpas[0]" value = "1" />
</div>
<?php if ( ! $all_done ) : ?>
<div id = "pub-connection-tests"></div>
<?php endif; ?>
<?php // #publicize-form
return ob_get_clean();
}
Или получите премиальный или профессиональный план, в тех, которые, по-видимому, сам Jetpack уже предлагает это …
04FS сделай это ответом, и я соглашусь. Оно работало завораживающе
https://www.ryadel.com/en/wordpress-re-enable-publicize-already-published-posts-via-jetpack-publicize/ рекомендует взломать шаблон пользовательского интерфейса, но он будет перезаписываться каждый раз, когда вы обновляете плагин.
https://cfxdesign.com/how-to-re-publicize-posts-with-jetpack/ имеет другой подход — он добавляет функциональность для удаления метаданных поста, которые Jetpack использует для определения того, что пост уже опубликован.
(И с премиальными или профессиональными планами Jetpack, по-видимому, также предлагает эту функцию.)