Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在WordPress中禁用图像附件页?_Php_Wordpress - Fatal编程技术网

Php 如何在WordPress中禁用图像附件页?

Php 如何在WordPress中禁用图像附件页?,php,wordpress,Php,Wordpress,我正试图在我的WordPress网站上禁用图片附件页面,因为这些图片会影响我的排名。我做了一项研究,发现我可以在image.php文件中实现一个代码,而不是安装插件 我真的需要你的帮助,因为我不知道把代码放在image.php文件的什么地方 我要添加的代码: My image.php文件: <?php /** * The template for displaying image attachments. * * @package sparkling */ get_header(

我正试图在我的WordPress网站上禁用图片附件页面,因为这些图片会影响我的排名。我做了一项研究,发现我可以在image.php文件中实现一个代码,而不是安装插件

我真的需要你的帮助,因为我不知道把代码放在image.php文件的什么地方

我要添加的代码:

My image.php文件:

<?php
/**
 * The template for displaying image attachments.
 *
 * @package sparkling
 */

get_header();
?>

            <?php while ( have_posts() ) : the_post(); ?>
                <div class="post-inner-content">
                    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                        <header class="entry-header">
                            <h1 class="entry-title"><?php the_title(); ?></h1>

                            <div class="entry-meta">
                                <?php sparkling_posted_on(); ?>
                            </div><!-- .entry-meta -->

                            <nav role="navigation" id="image-navigation" class="navigation-image nav-links">
                                <div class="nav-previous"><?php previous_image_link( false, __( '<i class="fa fa-chevron-left"></i> Previous', 'sparkling' ) ); ?></div>
                                <div class="nav-next"><?php next_image_link( false, __( 'Next <i class="fa fa-chevron-right"></i>', 'sparkling' ) ); ?></div>
                            </nav><!-- #image-navigation -->
                        </header><!-- .entry-header -->

                        <div class="entry-content">

                            <div class="entry-attachment">
                                <div class="attachment">
                                    <?php
                                        /**
                                         * Grab the IDs of all the image attachments in a gallery so we can get the URL of the next adjacent image in a gallery,
                                         * or the first image (if we're looking at the last image in a gallery), or, in a gallery of one, just the link to that image file
                                         */
                                        $attachments = array_values( get_children( array(
                                            'post_parent'    => $post->post_parent,
                                            'post_status'    => 'inherit',
                                            'post_type'      => 'attachment',
                                            'post_mime_type' => 'image',
                                            'order'          => 'ASC',
                                            'orderby'        => 'menu_order ID'
                                        ) ) );
                                        foreach ( $attachments as $k => $attachment ) {
                                            if ( $attachment->ID == $post->ID )
                                                break;
                                        }
                                        $k++;
                                        // If there is more than 1 attachment in a gallery
                                        if ( count( $attachments ) > 1 ) {
                                            if ( isset( $attachments[ $k ] ) )
                                                // get the URL of the next image attachment
                                                $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
                                            else
                                                // or get the URL of the first image attachment
                                                $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
                                        } else {
                                            // or, if there's only 1 image, get the URL of the image
                                            $next_attachment_url = wp_get_attachment_url();
                                        }
                                    ?>

                                    <a href="<?php echo $next_attachment_url; ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php
                                        $attachment_size = apply_filters( 'sparkling_attachment_size', array( 1200, 1200 ) ); // Filterable image size.
                                        echo wp_get_attachment_image( $post->ID, $attachment_size );
                                    ?></a>
                                </div><!-- .attachment -->

                                <?php if ( ! empty( $post->post_excerpt ) ) : ?>
                                <div class="entry-caption">
                                    <?php the_excerpt(); ?>
                                </div><!-- .entry-caption -->
                                <?php endif; ?>
                            </div><!-- .entry-attachment -->

                            <?php the_content(); ?>
                            <?php
                                wp_link_pages( array(
                                    'before' => '<div class="page-links">' . __( 'Pages:', 'sparkling' ),
                                    'after'  => '</div>',
                                ) );
                            ?>

                        </div><!-- .entry-content -->

                        <footer class="entry-meta">
                        </footer><!-- .entry-meta -->
                    </article><!-- #post-<?php the_ID(); ?> -->
                </div>
                <?php
                    // If comments are open or we have at least one comment, load up the comment template
                    if ( comments_open() || '0' != get_comments_number() )
                        comments_template();
                ?>

            <?php endwhile; // end of the loop. ?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>


将下面的代码片段放入
主题/image.php
中。它包括在找不到父贴子页面的情况下将最终用户重定向到主页(或任何其他页面)所需的回退功能。
当媒体项目直接上传到媒体库而不是通过帖子或页面时,就会发生这种情况

<?php
global $post;
if ( $post && $post->post_parent ) {
    wp_redirect( get_permalink( $post->post_parent ), 301 );
} else {
    wp_redirect( home_url( '/' ), 301 );    
}
exit;

重定向不会有任何帮助。如果图像导致问题,则根本不应使用图像。在那里放置重定向只会将用户发送到其他页面,这可能不是您想要的。我需要使用图像。重定向将转到帖子页面,如果他们没有帖子页面,他将返回主页。但是应该放在哪里呢?我也不确定这一点。@poepje
image.php
?将其放在顶部似乎不起作用。@poepje您通常会在主题文件夹的根目录中找到它。但是如果没有,你可能需要用谷歌搜索一下这个主题来找到它——或者创建你自己的主题。我很感谢你的帮助,但是你没有正确地阅读我的问题。我知道哪个文件,在哪里可以找到这个。我要问的是,我应该把代码放在这个文件的什么地方,这样它才能工作?