2015-11-21 21 views

Trả lời

1

Bạn có thể lấy nó từ bài đối tượng như vậy:

global $post; 
$post->post_name; 
10

Nếu bạn muốn nhận được sên của bài từ vòng sau đó sử dụng:

global $post; 
echo $post->post_name; 

Nếu bạn muốn nhận được slug của bài đăng bên ngoài vòng lặp sau đó sử dụng:

$post_id = 45; //specify post id here 
$post = get_post($post_id); 
$slug = $post->post_name; 
4

Bạn có thể làm điều này là bằng nhiều cách như:

1- Bạn có thể sử dụng Wordpress toàn cầu biến $post:

<?php 
global $post; 
$post_slug=$post->post_name; 
?> 

2- Hoặc bạn có thể có được sử dụng:

$slug = get_post_field('post_name', get_post()); 

3 Hoặc nhận url đầy đủ và sau đó sử dụng hàm PHP parse_url:

$url  = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
$url_path = parse_url($url, PHP_URL_PATH); 
$slug = pathinfo($url_path, PATHINFO_BASENAME); 

Tôi hy vọng các phương pháp trên sẽ giúp bạn.

20

Bạn có thể nhận được rằng việc sử dụng các phương pháp sau:

<?php $post_slug = get_post_field('post_name', get_post()); ?> 

Hoặc Bạn có thể dễ dàng sử dụng mã này:

<?php 
    global $post; 
    $post_slug = $post->post_name; 
?> 
2

Wordpress: Nhận bài/trang sên

<?php 
// Custom function to return the post slug 
function the_slug($echo=true){ 
    $slug = basename(get_permalink()); 
    do_action('before_slug', $slug); 
    $slug = apply_filters('slug_filter', $slug); 
    if($echo) echo $slug; 
    do_action('after_slug', $slug); 
    return $slug; 
} 
?> 
<?php if (function_exists('the_slug')) { the_slug(); } ?> 
Các vấn đề liên quan