サポート » 使い方全般 » 投稿者ページが404になる(URLが取得できていない?)

  • 新規でサイトを作成していて、
    投稿者(ユーザー)を追加していく予定なので仮で設定していた所、
    投稿者ページをクリックしたら404が表示されてしまいました。
    何がいけないのかわからず、とりあえずプラグインをすべて停止し、
    新規で追加したテンプレートから最初からインストールされているもの(twentyfifteen)に切り替えてみましたが、結果は同じでした。
    どうにもわからないくて原因は何が考えられるでしょうか?

    別で個別ページを利用してユーザー一覧ページを作ろうと思ったら以下のエラーが出ました。
    Notice: Use of undefined constant url – assumed ‘url’ ・・・
    テンプレートはこちらです。

    
    <?php
    /*
    Template Name:デザイン会社一覧
    */
    ?>
    
    <?php get_header(); ?>
    
    <section class="content">
    
    	<?php hu_get_template_part('parts/page-title'); ?>
    
    	<div class="pad group">
    
    		<?php while ( have_posts() ): the_post(); ?>
    
    			<article <?php post_class('group'); ?>>
    
    				<?php hu_get_template_part('parts/page-image'); ?>
    
    				<div class="entry themeform">
    					<?php the_content(); ?>
    
    			<?php if ( wp_is_mobile() ) : ?>
    
    				<div class="writer-chat clearfix">
    					<div class="writer-ttl">雑誌一覧 50音順</div>
    					<div class="writer-link-sma"><a href="<?php echo get_stylesheet_directory_uri() ?>/magazine-ranking/">雑誌ランキング</a></div>
    				</div>
    
    			<?php else: ?>
    
    				<div class="writer-chat clearfix">
    					<div class="writer-ttl">雑誌一覧 50音順</div>
    					<ul class="writer-link"><li><a class="ranking" href="<?php echo get_stylesheet_directory_uri() ?>/magazine-ranking/">雑誌ランキング</a></li><li><a class="list" href="<?php echo get_stylesheet_directory_uri() ?>/magazine-list/">雑誌一覧</a></li></ul>
    				</div>
    
    			<?php endif; ?>
    
    				<!--投稿者一覧を表示-->
    				<?php
    				/*-------------
    				ユーザー数の取得と設定
    				--------------------*/
    				$total_users = count_users();
    				$total_users = $total_users['total_users'];
    				$paged = get_query_var('paged');
    				$number = 6; // 1ページに表示したいユーザー数
    				$args = array(
    						'orderby'=>'display_name',
    						'order'=>'ASC',
    						'offset' => $paged ? ( ($paged - 1) * $number) : 0,
    						'number' => $number,);
    				$users = get_users( $args );
    				echo '<div class="writers">';
    				foreach($users as $user):
    				    $uid = $user->ID;
    				    $userData = get_userdata($uid);
    				    $user_post_count = count_user_posts($uid);
    				    
    				    echo '<div class="writer-profile">';
     				       echo '<figure class="eyecatch"><a href="'.get_bloginfo(url).'/?author='.$uid.'">';
     				           echo get_avatar( $uid ,300 );
     				       echo '</a></figure>';
     				       echo '<div class="profiletxt">';
     				           echo '<p class="name"><a href="'.get_bloginfo(url).'/?author='.$uid.'">'.$user->display_name.'<span class="profile_count">('.$user_post_count.')</span></a></p>';
     				           echo '<div class="description">'.$user->description2.'</div>';
      				      echo '</div>';
     				   echo '</div>';
    				endforeach;
    				echo '</div>'; ?>
    					<div class="clear"></div>
    				</div><!--/.entry-->
    
    			</article>
    			<div class="wp-pagenavi magalist">
    
    			<?php if ( hu_is_checked('page-comments') ) { comments_template('/comments.php',true); } ?>
    
    				<?php
    				/*-------------
    				ページ送りを出力
    				--------------------*/
    				if($total_users > $number){
    					$pl_args = array(
    						'base'     => add_query_arg('paged','%#%'),
    						'format'   => '',
    						'total'    => ceil($total_users / $number),
    						'current'  => max(1, $paged),
    				);
    				// for ".../page/n"
    				if($GLOBALS['wp_rewrite']->using_permalinks())
    					$pl_args['base'] = user_trailingslashit(trailingslashit(get_pagenum_link(1)).'page/%#%/', 'paged');
    				echo paginate_links($pl_args);
    				} ?>
    			</div>
    
    		<?php endwhile; // end of the loop. ?>
    
    	</div><!--/.pad-->
    
    </section><!--/.content-->
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>
    
    • このトピックは2 ヶ月、 2 週間前に  bruise さんが編集しました。理由: 情報を追加した。

    ヘルプの必要なページ: [リンクを見るにはログイン]

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • > とりあえずプラグインをすべて停止し、
    新規で追加したテンプレートから最初からインストールされているもの(twentyfifteen)に切り替えてみましたが、結果は同じでした。

    切り替えてみたあと、リライトルールの再生成をしてみたらどうなりますか?

    リライトルールの再生成は、パーマリンク設定のページで、「変更を保存」をすれば可能です。

    また、テンプレートのエラーに関しては、

    get_bloginfo(url)

    url と言う定数が存在しないというエラーです。 get_bloginfo( 'url' ) の打ち間違いかと思いますが・・・

    別の話であれば、トピックを分けた方がわかりやすいかと思いますー。

    ご回答ありがとうございます。
    その後、どうにも解決できなかったので、再度WPをインストールしなおしました。
    パーマリンク設定でカスタムにデフォルトで入っていたのが、
    /index.php/・・・/
    でした。index.phpを抜いたとたん、投稿者アーカイブが404になりました。
    ちなみに、数字ベースや他の設定でも404になることがありました。
    このサイトはマルチドメインで作っており、.thaccessで設定しています。
    それが原因かもしれないというところまではわかったのですが、
    その先がわからずとりあえず今はindex.phpを入れた状態で制作をしています。

    でも、最終的にはindex.phpを抜いた状態にしたいと思っています。
    もしアドバイス頂けたら本当に嬉しいです。

    /home/直下にこの.htaccessをアップしています。

    
    # This file is made by RewriteRule Tool.
    # Enable RewriteEngine.
    RewriteEngine On
    
    # 404 Error for Multidomain Directories.
    RewriteCond %{HTTP_HOST} ^○○○.jp$
    RewriteCond %{REQUEST_URI} ^/(△△△.○○○.jp)/
    RewriteRule ^(.*)$ /$1 [L,R=404]
    
    # Main RewriteRule for multidomain.
    RewriteCond %{HTTP_HOST} ^(△△△.○○○.jp)
    RewriteCond %{REQUEST_URI} !^/(△△△.○○○.jp)/
    RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L]
    

    /home/△△△.○○○.jp/直下の.htaccessは以下です。←ここにWPをインストールしています。

    
    #SITEGUARD_PLUGIN_SETTINGS_START
    #==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteBase /
        RewriteRule ^wp-signup\.php 404-siteguard [L]
        RewriteRule ^wp-activate\.php 404-siteguard [L]
        RewriteRule ^login_09611(.*)$ wp-login.php$1 [L]
    </IfModule>
    #==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
    #SITEGUARD_PLUGIN_SETTINGS_END
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    

    何卒よろしくお願い申し上げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。