0

現在、私のポートフォリオ ページでポートフォリオ アイテムをクリックすると、ajax コンテナがポップアップ表示されます。このコンテナでは、ボタンをクリックしてプロジェクトに移動し、詳細を読むことができます。

しかし

この ajax コンテナを無効にしたいのですが、単一のポートフォリオ アイテムをクリックすると、すべての詳細を含むプロジェクト アイテム ページに直接移動する必要があります。

すべての .php ファイルとスクリプトを検索しましたが、ポートフォリオ項目をクリックしたときにアクションが見つからず、見つかったときに何を置き換える必要があるのか​​ よくわかりません。誰かがこれで私を助けてくれることを願っています。

ポートフォリオページのコードは次のとおりです。

<div id="portfolio-grid" class="clearfix">
<?php
        while ( $portfolio_query->have_posts() ) : $portfolio_query->the_post();        
        get_template_part( 'includes/entry', 'portfolio' );
    endwhile; 
    wp_reset_postdata(); 
?>
</div> <!-- end #portfolio-grid -->   

そして、これがAjaxコンテナのコー​​ドです-私は思います-

function et_show_ajax_project(){
global $wp_embed;

$project_id = (int) $_POST['et_project_id'];

$portfolio_args = array(
    'post_type' => 'project',
    'p' => $project_id
);
$portfolio_query = new WP_Query( apply_filters( 'et_ajax_portfolio_args', $portfolio_args ) );
while ( $portfolio_query->have_posts() ) : $portfolio_query->the_post();
    global $post;
    $width = apply_filters( 'et_ajax_media_width', 600 );
    $height = apply_filters( 'et_ajax_media_height', 480 );

    $media = get_post_meta( $post->ID, '_et_used_images', true );
    echo '<div class="et_media">';
        if ( $media ){
            echo '<div class="flexslider"><ul class="slides">';
            foreach( (array) $media as $et_media ){
                echo '<li class="slide">';

                if ( is_numeric( $et_media ) ) {
                    $et_fullimage_array = wp_get_attachment_image_src( $et_media, 'full' );
                    if ( $et_fullimage_array ){
                        $et_fullimage = $et_fullimage_array[0];
                        echo '<img src="' . esc_url( et_new_thumb_resize( et_multisite_thumbnail($et_fullimage ), $width, $height, '', true ) ) . '" width="' . esc_attr( $width ) . '" height="' . esc_attr( $height ) . '" />';
                    }
                } else {
                    $video_embed = $wp_embed->shortcode( '', $et_media );

                    $video_embed = preg_replace('/<embed /','<embed wmode="transparent" ',$video_embed);
                    $video_embed = preg_replace('/<\/object>/','<param name="wmode" value="transparent" /></object>',$video_embed); 
                    $video_embed = preg_replace("/height=\"[0-9]*\"/", "height={$height}", $video_embed);
                    $video_embed = preg_replace("/width=\"[0-9]*\"/", "width={$width}", $video_embed);

                    echo $video_embed;                              
                }
                echo '</li>';
            }
            echo '</ul></div>';
        } else {
            $thumb = '';
            $classtext = '';
            $titletext = get_the_title();
            $thumbnail = get_thumbnail($width,$height,$classtext,$titletext,$titletext,false,'Ajaximage');
            $thumb = $thumbnail["thumb"];
            echo '<a href="'. esc_url( get_permalink() ) . '">';
                print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height, $classtext);
            echo '</a>';
        }
    echo '</div> <!-- end .et_media -->';

    echo    '<div class="et_media_description">' . 
                '<h2 class="title">' . '<a href="' . get_permalink() . '">' . get_the_title() . '</a>' . '</h2>' .
                truncate_post( 560, false );

    echo '</div> <!-- end .et_media_description -->';

    echo '<a class="more" href="' . get_permalink() . '">' . __( 'Meer info &raquo;', 'Flexible' ) . '</a>';
endwhile; 
wp_reset_postdata();

die();


ここでページを見ることができます: http://bit.ly/10BDVVf

再びありがとう!

4

1 に答える 1

0

これは で JavaScript を介して制御されてい/wp-content/themes/Flexible/js/custom.jsます。行 29 ~ 77 をコメント アウトすると、期待どおりにリンクされます (return false最後の で標準のナビゲーションがキャンセルされます)。ただし、テーマを直接編集してアップグレードすると、変更が上書きされることに注意してください。

于 2013-05-16T23:54:33.587 に答える