不要ファイル削除
・バージョンアップ時、再実行。
public_html
にて実行。
rm -i readme.html
rm -i license.txt
rm -i wp-config-sample.php
記事一覧
・バージョンアップ時、再実行。
タイトル表示(投稿)を消す
・バージョンアップ時、再実行。
wp-content/themes/xxx/index.php
の中で以下のようにコメントアウトする。
1 2 3 4 5 6 7 8 9 10 11 |
<?php if ( is_home() && ! is_front_page() ) : ?> <header class="page-header"> <h1 class="page-title"><?php single_post_title(); ?></h1> </header> <?php else : ?> <!-- <header class="page-header"> <h2 class="page-title"><?php _e( 'Posts', 'twentyseventeen' ); ?></h2> </header> --> <?php endif; ?> |
Analytics/AdSense連携
・バージョンアップ時、再実行。
テーマの幅変更
・バージョンアップ時、再実行。
wp-content/themes/xxx/style.css
の3408行(/* Layout */)以下、変更。
.wrap
max-width
を1000pxから1200px
.has-sidebar:not(.error404) #primary
width
を58%から62%
.has-sidebar #secondary
width
を36%から32%
Aタグアンダーバー非表示
・バージョンアップ時、再実行。
wp-content/themes/xxx/style.css
の中で
.entry-content a(1191行)
が含まれる
-webkit-box-shadow: inset 0 -1px 0 rgba(15, 15, 15, 1);
box-shadow: inset 0 -1px 0 rgba(15, 15, 15, 1);
をコメントアウト。
.entry-content a:focus(1237行)
.entry-content a:hover(1238行)
が含まれる
-webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1);
box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1);
をコメントアウト。
タグ一覧で本文非表示
・バージョンアップ時、再実行。
wp-content/themes/xxx
の中に、
tag.php
を作成し以下のように記入。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<?php get_header(); ?> <div class="wrap"> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if (have_posts()){ while (have_posts()){ the_post(); echo '<header class="entry-header">'; if ('post' === get_post_type() ) { echo '<div class="entry-meta">'; echo twentyseventeen_time_link(); twentyseventeen_edit_link(); echo '</div><!-- .entry-meta -->'; }; the_title('<span class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></span>' ); echo "</header>"; } the_posts_pagination( array( 'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>', 'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ), 'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>', ) ); } ?> </main><!-- #main --> </div><!-- #primary --> <?php get_sidebar(); ?> </div><!-- .wrap --> <?php get_footer(); |
更新順ウィジェット
・プラグイン化済み
特定のページにJavaScriptを挿入
・プラグイン化済み
ここでは下記に挿入しているコード。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
add_action('wp_footer', 'get_time_range', 1); function get_time_range(){ if (!is_single('151')) return; echo <<<HTML <style> #sh,#sm,#ss,#eh,#em,#es { display: inline; } </style> <script> jQuery(window).on('load', function() { jQuery('#sh').on('change', ToSec); jQuery('#sm').on('change', ToSec); jQuery('#ss').on('change', ToSec); jQuery('#eh').on('change', ToSec); jQuery('#em').on('change', ToSec); jQuery('#es').on('change', ToSec); function ToSec(){ let startSec = (Number(jQuery('#sh').val()) * 60 * 60) + (Number(jQuery('#sm').val()) * 60) + Number(jQuery('#ss').val()); let endSec = (Number(jQuery('#eh').val()) * 60 * 60) + (Number(jQuery('#em').val()) * 60) + Number(jQuery('#es').val()); let rangeSec = endSec - startSec; jQuery('#cmd').text('ffmpeg -ss ' + startSec + ' -i i.mp4 -t ' + rangeSec + ' o.mp4'); } }); </script> HTML; } |
タグクラウドを投稿数順に変更
・プラグイン化済み
1 2 3 4 5 6 7 8 9 10 11 |
function args_customize($args) { $add_args = array( 'orderby' => 'count', 'order' => 'DESC', ); $args = wp_parse_args($args, $add_args); return $args; } add_action('widget_tag_cloud_args', 'args_customize'); |
タグクラウドにCSSを適用
・プラグイン化済み
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function tag_cloud_css(){ echo <<<HTML <style> .tagcloud li { font-size: 0.9em; } </style> HTML; } add_action('wp_footer', 'tag_cloud_css', 1); |
REST APIを無効化
・プラグイン化済み
パーマリンクが標準だと動かないが、塞がれているわけではないので注意。
http://okamurax.com/wp-json/wp/v2/posts
http://okamurax.com/?rest_route=/wp/v2/posts
1 2 3 4 |
function disable_rest() { return new WP_Error(); } add_action('rest_authentication_errors', 'disable_rest'); |
更新日を変更しない
更新日を更新しないチェックボックスを記事編集画面に追加。
・プラグイン化済み
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
add_action('admin_menu', function(){ add_meta_box('high_low', '更新日', function(){ echo '<div style="padding-top: 3px; overflow: hidden;">'; echo '<div style="width: 100px; float: left;"><input name="high_low" type="radio" value="high" checked="checked">更新する</div>'; echo '<div><input name="high_low" type="radio" value="low">更新しない</div>'; echo '</div>'; }, 'post', 'side', 'high'); }); add_action('save_post', function($post_id){ $high_low = isset($_POST['high_low']) ? $_POST['high_low'] : null; if("" == get_post_meta($post_id, 'high_low')) { add_post_meta($post_id, 'high_low', $high_low, true) ; } elseif($high_low != get_post_meta($post_id, 'high_low')) { update_post_meta($post_id, 'high_low', $high_low) ; } elseif("" == $high_low) { delete_post_meta($post_id, 'high_low') ; } }); add_filter('wp_insert_post_data', function($data, $postarr){ $high_low = isset($_POST['high_low']) ? $_POST['high_low'] : null; if($high_low == "low"){ unset($data["post_modified"]); unset($data["post_modified_gmt"]); } return $data; }, 10, 2); |
favicon設定
・初回のみ
header.phpとwp-login.php
のheadタグの中に以下を追加
1 |
<link rel="SHORTCUT ICON" href=<?php echo get_template_directory_uri(); ?>/favicon.ico /> |
ダッシュボード>外観>カスタマイズ>サイト基本情報>サイトアイコン
からも変更することができる。
パーミション変更
・初回のみ
find . -type d | xargs chmod 705
find . -type f | xargs chmod 604
find . -name “wp-config.php” | xargs chmod 600
IPアドレスでログインを弾く
・初回のみ+IPアドレス変更時
wp-login.phpのある階層の.htaccessに以下を追記
1 2 3 4 5 |
<files wp-login.php> order deny,allow deny from all allow from xxx.xxx.xxx.xxx </files> |
wp-adminの直下にある.htaccessにも以下を追記。
1 2 3 |
order deny,allow deny from all allow from xxx.xxx.xxx.xxx |
※orderにてallowとdeny各ディレクティブのどちらを先に評価するか順番を指定する。
order allow,deny:許可→拒否
order deny,allow:拒否→許可
・2.4以降
wp-login.phpの階層
1 2 3 4 5 6 7 8 |
<files wp-login.php> require all denied require ip xxx.xxx.xxx.xxx </files> <files xmlrpc.php> require all denied </files> |
wp-adminの直下
1 2 |
require all denied require ip xxx.xxx.xxx.xxx |
(未使用)ウィジットの最新の投稿を更新順に変更
wp-includes/widgets/class-wp-widget-recent-posts.php
の中にある
$r = new WP_Query()
の中に条件の連想配列があるので、以下を追加する。
‘orderby’=>’modified’
これで更新順になる。
Wordpressのバージョンアップ時に消えるときがある。
(未使用)更新日を表示
wp-includes/widgets/class-wp-widget-recent-posts.php
の中で以下のように変更
1 2 3 4 |
<span class="post-date"><br> 投稿:<?php echo get_the_date('Y-m-d',$recent_post->ID); ?> / 更新:<?php echo get_the_modified_date('Y-m-d',$recent_post->ID); ?> </span> |
(未使用)ナビメニュー非表示
wp-content/themes/xxx/header.php
の中にある
wp_nav_menu()
をコメントアウト
(未使用)トップページから特定カテゴリ非表示
functions.phpに以下を追加。
1 2 3 4 5 6 |
function ExcCat( $query ) { if ( $query->is_home()) { $query->set( 'cat', '-99' ); } } add_action( 'pre_get_posts', 'ExcCat' ); |
(未使用)Google検索ボックス追加
ウィジェットでテキストを追加する。
1 2 3 4 5 6 |
<form action="http://www.google.com/search"> <input type="hidden" name="hl" value="ja" /> <input type="hidden" value="http://okamurax.com/" name="as_sitesearch" /> <input type="text" name="q" size="25" /> <input type="submit" name="btnG" value="検索" /> </form> |
(未使用)ログイン状態でリダイレクト
1 2 3 4 5 6 7 |
<?php add_action('wp_head', 'login_state', 1); function login_state() { if (!is_user_logged_in()) wp_redirect('/wp-login.php'); } |
(未使用)自作タグクラウド
ウィジェットにショートコードを入れれば表示される。
1 2 3 4 5 6 7 8 9 10 11 12 |
function count_tag(){ echo '<ul>'; $tags = get_tags(); foreach($tags as $tag){ echo '<li>'; echo '<a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '[' . $tag->count . ']</a>'; echo '</li>'; } echo '</ul>'; } add_shortcode('count_tag', 'count_tag'); |