基本
ローカル環境でwordpress 管理画面のログインパスワードを忘れた!
ローカルは、『local by flywheel』を使っています。
最初のころは要領を得ず、新しいサイトを付け加えるたびにユーザー名や安全度の高い長々としたパスワードをすべて変えて作成していました。
でもあっちこっちのサーバーにデプロイしたりしていくうちに、ユーザー名もパスワードもアドレスも、まったく分からなくなってしまってどうにもログインできなくなってしまいました。
メールアドレスが自分のだと、ユーザー名さえ合っていればパスワードの変更は簡単なんだけれど、あの頃はメールアドレスはすべて『local by flywheel』のになっています。なので、自分のメールボックスには変更確認手続きのメールは届かない…。
えらいこっちゃ。
とりあえずググってみました。そして、次のサイト様をみつけました。
★Flywheel で wordpress 管理画面のログインパスワードを忘れたときの対処方法
現在と画面が少し違っておりますが、それより私はコマンドが苦手なものでもう少し初心者らしく詳しく書いておこうと思います。
wp user list(enter)でリストを出した後、新しいパスワードを設定するところですが、ここは次のように打ちます。
wp user update (user_login名) –user_pass=(新しいパスワード)(enter)
そしてそのあとログインするのですが、ここでまたややこしいのは、ユーザー名ではなくリストにあるuser_email(私の場合『local by flywheel』のメールアドレス)でログインしなければならないことです。
ここをユーザー名で何度ログインしても拒否られます。
「なんでなんで?! 新しいパス設定したのに!」ということになります。
なのでuser_emailと新しいパスワードでログインしましょう。
これでやっと入れました。
一番簡単なページャーを使いたい
それは、テンプレートタグ/wp link pages。
single.phpなどの使いたい場所(ただしループ内)に <?php wp_link_pages(); ?> でOK。
この()の中は、以下のようなデフォルトになっています。
<?php
$defaults = array(
'before' => '<p>' . __( 'Pages:' ),
'after' => '</p>',
'link_before' => '',
'link_after' => '',
'next_or_number' => 'number',
'separator' => ' ',
'nextpagelink' => __( 'Next page' ),
'previouspagelink' => __( 'Previous page' ),
'pagelink' => '%',
'echo' => 1
); wp_link_pages($defaults); ?>
で、なぜここに書いておくかというと、上のままでは実際のページに「固定ページ 1 2」と表示されるから。
ちょっと考えたけど、要するに「’before’=>'<p>’.__(‘Pages:’),」の「Pages:」が日本語に訳されてしまっているんじゃないかと思って、「Page」に変えてコードを貼ってみた。
そしたら希望通り「Page 1 2」の表示になりました。
何と言っても! 便利テンプレート
私が大好きな(いやいや、おかしいだろ)テンプレート3つです。
- get_permalink()
- get_the_title()
- get_template_directory_uri()
なぜ好きかというと、このどれかを使えば結構何でもうまく解決するから。
「安易」と笑うなかれ。
思う通りに表示してくれるんなら、何と言っても最高なんです。
★echo get_permalink();
まずは、()の中に記事IDが入る場合。
<a href=”<?php echo get_permalink( 268 ); ?>”>My link to a post or page</a>
それから、記事タイトルが入る場合。
<a href=”<?php echo esc_url( get_permalink( get_page_by_title( ‘Monthly Events’ ) ) ); ?>”>Monthly Events</a>
★echo get_the_title();
現在の投稿のタイトルを表示します。
<?php echo get_the_title(); ?>
記事IDを入れると、その投稿のタイトルを表示します。
<?php echo get_the_title( $ID ); ?>
★echo get_template_directory_uri();
現在のテーマのディレクトリへの絶対パスを取得。
<img src="<?php echo get_template_directory_uri(); ?>/img/hero.jpg">
ローカルからWordPress化するときについ忘れがちになるけど、このテンプレートがなければパスが通らず表示されない。なので便利。
ただ、子テーマが使用されている場合は注意です。
子テーマのディレクトリへの絶対パスを取得するには get_stylesheet_directory_uri() をお使いください。
絶対に必要なテンプレート
WordPress化するときに絶対に必要なテンプレート。
まず思いつくものから少しずつ書き留めておこう。
★get_header();
テンプレートファィルheader.phpを読み込む。
★get_footer();
テンプレートファイルfooter.phpを読み込む。
★wp_head();
これを忘れるとプラグインが動かない。
</head>の直前につける。
★wp_footer();
wp_head();と同じく、これを忘れるとプラグインが動かない。
</body>の直前につける。
★wp_body_open();
比較的新しい機能で、今後は必須に近くなるかな〜とここにあげておきましょう。
header.php の bodyタグ直下に設置。そしてfunctions.phpに下記を書き込みます。
if ( ! function_exists( ‘wp_body_open‘ ) ) {
function wp_body_open() {
do_action( ‘wp_body_open‘ );
}
}
★body_class();
このテンプレートタグに関しては「必須ではない」と言いつつ、DEBAGにかければ「body_class()がありません」とか出てくる。結局つけなさいということ。