本文整理汇总了PHP中get_permalink函数的典型用法代码示例。如果您正苦于以下问题:PHP get_permalink函数的具体用法?PHP get_permalink怎么用?PHP get_permalink使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_permalink函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: widget
function widget($args, $instance)
{
global $post;
extract($args, EXTR_SKIP);
echo $before_widget;
$title = empty($instance['title']) ? __('Recent Posts', 'lan-thinkupthemes') : apply_filters('widget_title', $instance['title']);
if (!empty($title)) {
echo $before_title . $title . $after_title;
}
$posts = new WP_Query('orderby=date&posts_per_page=' . $instance['postcount'] . '');
while ($posts->have_posts()) {
$posts->the_post();
// Insert post date if needed.
if ($instance['postdate'] == 'on') {
$date_input = '<a href="' . get_permalink() . '" class="date">' . get_the_date('M j, Y') . '</a>';
}
// HTML output
echo '<div class="recent-posts">';
if (has_post_thumbnail() and $instance['imageswitch'] == 'on') {
echo '<div class="image">', '<a href="' . get_permalink() . '" title="' . get_the_title() . '">' . get_the_post_thumbnail($post->ID, array(65, 65)) . '<div class="image-overlay"></div></a>', '</div>', '<div class="main">', '<a href="' . get_permalink() . '">' . get_the_title() . '</a>', $date_input, '</div>';
} else {
echo '<div class="main">', '<a href="' . get_permalink() . '">' . get_the_title() . '</a>', $date_input, '</div>';
}
echo '</div>';
}
wp_reset_query();
echo $after_widget;
}
示例2: wpcf7_special_mail_tag_for_post_data
function wpcf7_special_mail_tag_for_post_data($output, $name)
{
if (!isset($_POST['_wpcf7_unit_tag']) || empty($_POST['_wpcf7_unit_tag'])) {
return $output;
}
if (!preg_match('/^wpcf7-f(\\d+)-p(\\d+)-o(\\d+)$/', $_POST['_wpcf7_unit_tag'], $matches)) {
return $output;
}
$post_id = (int) $matches[2];
if (!($post = get_post($post_id))) {
return $output;
}
$user = new WP_User($post->post_author);
// For backwards compat.
$name = preg_replace('/^wpcf7\\./', '_', $name);
if ('_post_id' == $name) {
$output = (string) $post->ID;
} elseif ('_post_name' == $name) {
$output = $post->post_name;
} elseif ('_post_title' == $name) {
$output = $post->post_title;
} elseif ('_post_url' == $name) {
$output = get_permalink($post->ID);
} elseif ('_post_author' == $name) {
$output = $user->display_name;
} elseif ('_post_author_email' == $name) {
$output = $user->user_email;
}
return $output;
}
示例3: square_posted_on
/**
* Prints HTML with meta information for the current post-date/time and author.
*/
function square_posted_on()
{
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
if (get_the_time('U') !== get_the_modified_time('U')) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
}
$time_string = sprintf($time_string, esc_attr(get_the_date('c')), esc_html(get_the_date()), esc_attr(get_the_modified_date('c')), esc_html(get_the_modified_date()));
$posted_on = sprintf(esc_html_x('%s', 'post date', 'square'), '<a href="' . esc_url(get_permalink()) . '" rel="bookmark">' . $time_string . '</a>');
$byline = sprintf(esc_html_x('by %s', 'post author', 'square'), '<span class="author vcard"><a class="url fn n" href="' . esc_url(get_author_posts_url(get_the_author_meta('ID'))) . '">' . esc_html(get_the_author()) . '</a></span>');
$comment_count = get_comments_number();
// get_comments_number returns only a numeric value
if (comments_open()) {
if ($comment_count == 0) {
$comments = __('No Comments', 'square');
} elseif ($comment_count > 1) {
$comments = $comment_count . __(' Comments', 'square');
} else {
$comments = __('1 Comment', 'square');
}
$comment_link = '<a href="' . get_comments_link() . '">' . $comments . '</a>';
} else {
$comment_link = __(' Comment Closed', 'square');
}
echo '<span class="posted-on"><i class="fa fa-clock-o"></i>' . $posted_on . '</span><span class="byline"> ' . $byline . '</span><span class="comment-count"><i class="fa fa-comments-o"></i>' . $comment_link . "</span>";
// WPCS: XSS OK.
}
示例4: submenu_items
/**
* Add Menu Cart to menu
*
* @return menu items including cart
*/
public function submenu_items()
{
$get_cart = jigoshop_cart::get_cart();
$submenu_items = '';
//see jigoshop/widgets/cart.php
if (count($get_cart) > 0) {
foreach ($get_cart as $cart_item_key => $values) {
$_product = $values['data'];
if ($_product->exists() && $values['quantity'] > 0) {
$item_thumbnail = has_post_thumbnail($_product->id) ? get_the_post_thumbnail($_product->id, 'shop_tiny') : jigoshop_get_image_placeholder('shop_tiny');
$item_name = $_product->get_title();
// Not used: Displays variations and cart item meta
$item_meta = jigoshop_cart::get_item_data($values);
$item_quantity = esc_attr($values['quantity']);
$item_price = $_product->get_price_html();
// Item permalink
$item_permalink = esc_attr(get_permalink($_product->id));
$submenu_items[] = array('item_thumbnail' => $item_thumbnail, 'item_name' => $item_name, 'item_quantity' => $item_quantity, 'item_price' => $item_price, 'item_permalink' => $item_permalink);
}
}
} else {
$submenu_items = '';
}
return $submenu_items;
}
示例5: hybrid_excerpt_more
/**
* Filters the excerpt more output with internationalized text and a link to the post.
*
* @since 2.0.0
* @access public
* @param string $text
* @return string
*/
function hybrid_excerpt_more($text)
{
if (0 !== strpos($text, '<a')) {
$text = sprintf(' <a href="%s" class="more-link">%s</a>', esc_url(get_permalink()), trim($text));
}
return $text;
}
示例6: wc_template_redirect
/**
* Handle redirects before content is output - hooked into template_redirect so is_page works.
*
* @return void
*/
function wc_template_redirect()
{
global $wp_query, $wp;
// When default permalinks are enabled, redirect shop page to post type archive url
if (!empty($_GET['page_id']) && get_option('permalink_structure') == "" && $_GET['page_id'] == wc_get_page_id('shop')) {
wp_safe_redirect(get_post_type_archive_link('product'));
exit;
} elseif (is_page(wc_get_page_id('checkout')) && sizeof(WC()->cart->get_cart()) == 0 && empty($wp->query_vars['order-pay']) && !isset($wp->query_vars['order-received'])) {
wp_redirect(get_permalink(wc_get_page_id('cart')));
exit;
} elseif (isset($wp->query_vars['customer-logout'])) {
wp_redirect(str_replace('&', '&', wp_logout_url(get_permalink(wc_get_page_id('myaccount')))));
exit;
} elseif (is_search() && is_post_type_archive('product') && apply_filters('woocommerce_redirect_single_search_result', true) && $wp_query->found_posts == 1) {
$product = wc_get_product($wp_query->post);
if ($product->is_visible()) {
wp_safe_redirect(get_permalink($product->id), 302);
exit;
}
} elseif (is_add_payment_method_page()) {
WC()->payment_gateways();
} elseif (is_checkout()) {
// Buffer the checkout page
ob_start();
// Ensure gateways and shipping methods are loaded early
WC()->payment_gateways();
WC()->shipping();
}
}
示例7: filter_woocommerce_ajax_params
function filter_woocommerce_ajax_params($woocommerce_params)
{
global $sitepress, $post;
$value = array();
$value = $woocommerce_params;
if ($sitepress->get_current_language() !== $sitepress->get_default_language()) {
$value['ajax_url'] = add_query_arg('lang', ICL_LANGUAGE_CODE, $woocommerce_params['ajax_url']);
$value['checkout_url'] = add_query_arg('action', 'woocommerce-checkout', $value['ajax_url']);
}
if (!isset($post->ID)) {
return $value;
}
$ch_pages = wp_cache_get('ch_pages', 'wcml_ch_pages');
if (empty($ch_pages)) {
$ch_pages = array('checkout_page_id' => get_option('woocommerce_checkout_page_id'), 'pay_page_id' => get_option('woocommerce_pay_page_id'), 'cart_page_id' => get_option('woocommerce_cart_page_id'));
$ch_pages['translated_checkout_page_id'] = apply_filters('translate_object_id', $ch_pages['checkout_page_id'], 'page', false);
$ch_pages['translated_pay_page_id'] = apply_filters('translate_object_id', $ch_pages['pay_page_id'], 'page', false);
$ch_pages['translated_cart_page_id'] = apply_filters('translate_object_id', $ch_pages['cart_page_id'], 'page', false);
}
wp_cache_set('ch_pages', $ch_pages, 'wcml_ch_pages');
if ($ch_pages['translated_cart_page_id'] == $post->ID) {
$value['is_cart'] = 1;
$value['cart_url'] = get_permalink($ch_pages['translated_cart_page_id']);
} else {
if ($ch_pages['translated_checkout_page_id'] == $post->ID || $ch_pages['checkout_page_id'] == $post->ID) {
$value['is_checkout'] = 1;
$_SESSION['wpml_globalcart_language'] = $sitepress->get_current_language();
} else {
if ($ch_pages['translated_pay_page_id'] == $post->ID) {
$value['is_pay_page'] = 1;
}
}
}
return $value;
}
示例8: custom_rss_teaser
function custom_rss_teaser($content)
{
$teaser = preg_split('/<span id="(more-\\d+)"><\\/span>/', $content);
$readmore = '<a href="' . get_permalink() . '">[前往围观...]</a>';
$content = $teaser[0] . $readmore;
return $content;
}
示例9: testGetCertificateUrl
/**
* Test the "get_certificate_url" method.
*/
public function testGetCertificateUrl()
{
$entry = Edr_Crt_Test::get_instance()->addEntry(array('user_id' => 1, 'course_id' => 1, 'entry_status' => 'complete'));
$edr_crt = Edr_Manager::get('edr_crt');
$certificate_id = $edr_crt->create_certificate($entry);
$this->assertEquals(get_permalink($certificate_id), $edr_crt->get_certificate_url($entry->ID));
}
示例10: woo_shortcode_view_full_article
function woo_shortcode_view_full_article($atts)
{
$defaults = array('label' => __('Read full story', 'woothemes'), 'before' => '', 'after' => '');
$atts = shortcode_atts($defaults, $atts);
$output = sprintf('<span class="read-more">%1$s<a href="%3$s" title="%4$s">%4$s</a>%2$s</span> ', $atts['before'], $atts['after'], get_permalink(get_the_ID()), $atts['label']);
return apply_filters('woo_shortcode_view_full_article', $output, $atts);
}
示例11: get_event_avatar
/**
* Get HTML markup for the post's "avatar" image according conditional
* fallback model.
*
* Accepts an ordered array of named avatar $fallbacks. Also accepts a string
* of space-separated classes to add to the default classes.
* @param Ai1ec_Event $event The event to get the avatar for
* @param array|null $fallback_order Order of fallback in searching for
* images, or null to use default
* @param string $classes A space-separated list of CSS classes
* to apply to the outer <div> element.
* @param boolean $wrap_permalink Whether to wrap the element in a link
* to the event details page.
*
* @return string String of HTML if image is found
*/
public function get_event_avatar(Ai1ec_Event $event, $fallback_order = null, $classes = '', $wrap_permalink = true)
{
$source = $size = null;
$url = $this->get_event_avatar_url($event, $fallback_order, $source, $size);
if (empty($url)) {
return '';
}
$url = esc_attr($url);
$classes = esc_attr($classes);
// Set the alt tag (helpful for SEO).
$alt = $event->get('post')->post_title;
$location = $this->_registry->get('view.event.location')->get_short_location($event);
if (!empty($location)) {
$alt .= ' @ ' . $location;
}
$alt = esc_attr($alt);
$size_attr = $size[0] ? "width=\"{$size['0']}\" height=\"{$size['1']}\"" : "";
$html = '<img src="' . $url . '" alt="' . $alt . '" ' . $size_attr . ' />';
if ($wrap_permalink) {
$permalink = add_query_arg('instance_id', $event->get('instance_id'), get_permalink($event->get('post_id')));
$html = '<a href="' . $permalink . '">' . $html . '</a>';
}
$classes .= ' ai1ec-' . $source;
$classes .= $size[0] > $size[1] ? ' ai1ec-landscape' : ' ai1ec-portrait';
$html = '<div class="ai1ec-event-avatar timely ' . $classes . '">' . $html . '</div>';
return $html;
}
示例12: imported
/**
* Batch has been successfully imported.
*
* @param Batch $batch
*/
public function imported(Batch $batch)
{
$links = array();
$output = '';
$types = array('page', 'post');
// Only keep published posts of type $types.
$posts = array_filter($batch->get_posts(), function (Post $post) use($types) {
return $post->get_post_status() == 'publish' && in_array($post->get_type(), $types);
});
// Create links for each of the posts.
foreach ($posts as $post) {
$post_id = $this->post_dao->get_id_by_guid($post->get_guid());
$links[] = array('link' => get_permalink($post_id), 'title' => $post->get_title());
}
$links = apply_filters('sme_imported_post_links', $links);
foreach ($links as $link) {
$output .= '<li><a href="' . $link['link'] . '" target="_blank">' . $link['title'] . '</a></li>';
}
if ($output !== '') {
$output = '<ul>' . $output . '</ul>';
$message = '<h3>Posts deployed to ' . get_bloginfo('name') . ':</h3>' . $output;
$this->api->add_deploy_message($batch->get_id(), $message, 'info', 102);
}
$this->api->add_deploy_message($batch->get_id(), 'Batch has been successfully imported!', 'success', 101);
}
示例13: al_portfolio_meta_tags
function al_portfolio_meta_tags()
{
$post_type = get_post_type();
if ('portfolio' == $post_type) {
$title = get_post_meta(get_the_ID(), "al_pf_og_title", TRUE);
$title = !empty($title) ? $title : get_the_title();
$meta = array('og:title' => $title, 'og:url' => get_permalink());
$desc = get_post_meta(get_the_ID(), "al_pf_og_description", TRUE);
$desc = !empty($desc) ? $desc : false;
if ($desc) {
$meta['og:description'] = $desc;
}
if (has_post_thumbnail()) {
$thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full');
$meta['og:image'] = $thumbnail[0];
}
if (get_post_format() == 'gallery') {
$images = rwmb_meta('al_pf_gallery_images', 'type=image&size=full');
if (is_array($images)) {
foreach ($images as $image) {
$meta['images'][] = $image['url'];
}
}
}
foreach ($meta as $key => $value) {
if ($key == 'images') {
foreach ($value as $image) {
echo '<meta property="og:image" content="' . $image . '" />';
}
} else {
echo '<meta property="' . $key . '" content="' . $value . '" />';
}
}
}
}
示例14: testThemeTemplateIsCorrectForPost
public function testThemeTemplateIsCorrectForPost()
{
$post = $this->factory->post->create();
$this->go_to_with_template(get_permalink($post));
$this->assertTrue(is_single());
$this->assertSame('single.php', self::get_theme_data('template_file'));
}
示例15: start_el
function start_el(&$output, $page, $depth = 0, $args = array(), $current_page = 0)
{
if ($depth) {
$indent = str_repeat("\t", $depth);
} else {
$indent = '';
}
extract($args, EXTR_SKIP);
$css_class = array('page_item', 'page-item-' . $page->ID);
if (!empty($current_page)) {
$_current_page = get_post($current_page);
if (in_array($page->ID, $_current_page->ancestors)) {
$css_class[] = 'current_page_ancestor';
}
if ($page->ID == $current_page) {
$css_class[] = 'current_page_item';
} elseif ($_current_page && $page->ID == $_current_page->post_parent) {
$css_class[] = 'current_page_parent';
}
} elseif ($page->ID == get_option('page_for_posts')) {
$css_class[] = 'current_page_parent';
}
$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page, $depth, $args, $current_page));
$output .= $indent . '<li class="' . $css_class . '"><a href="' . get_permalink($page->ID) . '">' . $link_before . apply_filters('the_title', $page->post_title, $page->ID) . $link_after . '</a>';
if (!empty($show_date)) {
if ('modified' == $show_date) {
$time = $page->post_modified;
} else {
$time = $page->post_date;
}
$output .= " " . mysql2date($date_format, $time);
}
}