Par exemple. quand je veux éditer quelque chose dans ma base de données WP, j'ai vraiment mal à la tête. Parce que je vois quelque chose comme ça:
a:92:{s:47:"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:42:"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:35:"category/(.+?)/page/?([0-9]{1,})/?$";s:53:"index.php?category_name=$matches[1]&paged=$matches[2]";s:17:"category/(.+?)/?$";s:35:"index.php?category_name=$matches[1]";s:44:"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?ta-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";}
J'imagine que c'est une sorte de tableau, mais mon éditeur de texte ne peut pas le formater comme suit:
Array
(
[a] => Apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
comment cela peut-il être fait avec les données stockées dans la base de données PW? Existe-t-il un outil en ligne pour cela ou peut-être un plugin pour Sublime Text 2 ou N ++?
Ceci est une valeur sérialisée , vous devez donc l'exécuter via maybe_unserialize()
ou simplement unserialize()
avant de le modifier.
Lorsque vous travaillez dans des plugins ou des thèmes, utilisez toujours les API: update_option()
et get_option()
par exemple. Ces fonctions annuleront/sérialiseront les valeurs pour vous, de sorte que vous n’aurez plus à vous soucier de la base de données.
Voir également:
Si vous avez besoin d’un simple convertisseur, utilisez les éléments internes de WordPress: un simple widget de tableau de bord et les fonctions intégrées.
<?php # -*- coding: utf-8 -*-
/* Plugin Name: Unserialize Dashboard Widget */
add_action( 'wp_loaded', 't5_unserialize_dashboard_widget' );
function t5_unserialize_dashboard_widget()
{
$handle = 't5sdw';
add_action( 'wp_dashboard_setup', function() use ( $handle ) {
wp_add_dashboard_widget(
$handle . '_widget',
'Unserialize',
function() use ( $handle ) {
print '<form action="' . admin_url( 'admin-post.php?action=' . $handle ) . '" method="post">';
wp_nonce_field( 'update', $handle . '_nonce' );
$content = esc_textarea( var_export( maybe_unserialize( get_option( $handle ) ), TRUE ) );
print "<textarea name='$handle' class='code large-text' rows=10>$content</textarea><p>";
submit_button( 'Unserialize', 'primary', $handle . '_unserialize', FALSE );
print '</p></form>';
}
);
});
add_action( "admin_post_$handle", function() use ( $handle ) {
if ( ! isset ( $_POST[ $handle ] )
or ! wp_verify_nonce( $_POST[ $handle . '_nonce' ], 'update' ) )
return;
parse_str( file_get_contents( 'php://input', 'r'), $arr );
update_option( $handle, $arr[ $handle ] );
wp_redirect( admin_url( '/' ) );
exit;
});
}