Advertisement
SMSabuj

WordPress Functions

Aug 28th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 21.03 KB | None | 0 0
  1. Root url for website
  2. ---------------------------------------------------------
  3. <?php site_url(); ?>
  4. <?php bloginfo('url'); ?>
  5.  
  6. title of specific post/page
  7. ---------------------------------------------------------
  8. <?php wp_title(); ?>
  9.  Site Home URL
  10. ---------------------------------------------------------
  11. <?php echo esc_url(home_url('/')); ?>
  12. Title of site
  13. ---------------------------------------------------------
  14. <?php bloginfo('name'); ?>
  15.  
  16. Site description
  17. ---------------------------------------------------------
  18. <?php bloginfo('description'); ?>
  19.  
  20. stylesheet folder location
  21. ---------------------------------------------------------
  22. <?php get_stylesheet_directory(); ?>
  23.  
  24. style.css file location
  25. ---------------------------------------------------------
  26. <?php bloginfo('stylesheet_url'); ?>
  27.  
  28. pingback url
  29. ---------------------------------------------------------
  30. /**
  31.  * Add a pingback url auto-discovery header for single posts, pages, or attachments.
  32.  */
  33. function the_prothom_alo_pingback_header() {
  34.     if ( is_singular() && pings_open() ) {
  35.         echo '<link rel="pingback" href="', esc_url( get_bloginfo( 'pingback_url' ) ), '">';
  36.     }
  37. }
  38. add_action( 'wp_head', 'the_prothom_alo_pingback_header' );
  39.  
  40.  
  41.  
  42. Template folder path
  43. ---------------------------------------------------------
  44. <?php echo esc_url( get_template_directory_uri()); ?>
  45.  
  46. wordpress site version
  47. ---------------------------------------------------------
  48. <?php bloginfo('version'); ?>
  49.  
  50. atom url
  51. ---------------------------------------------------------
  52. <?php bloginfo('atom_url'); ?>
  53.  
  54. rss2 url
  55. ---------------------------------------------------------
  56. <?php bloginfo('rss2_url'); ?>
  57. Html version
  58. ---------------------------------------------------------
  59. <?php bloginfo('html_type'); ?>
  60.  
  61. charset parameter
  62. ---------------------------------------------------------
  63. <?php bloginfo('charset'); ?>
  64.  
  65. ==========================================================
  66. Codes for Other Template Files
  67. Codes below will be seen across all template files such as
  68. single.php, index.php, page.php and so on. Its really easy
  69. to call on these codes to make your theme dynamic when coding it.
  70. ==========================================================
  71.  
  72. Displays Header.php file content
  73. ---------------------------------------------------------
  74. <?php get_header(); ?>
  75.  
  76. Displays Footer.php file content
  77. ---------------------------------------------------------
  78. <?php get_footer(); ?>
  79.  
  80. Displays Sidebar.php file content
  81. ---------------------------------------------------------
  82. <?php get_sidebar(); ?>
  83.  
  84. Displays Sidebar.php file content with if condition
  85. ---------------------------------------------------------
  86. <?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
  87.     <div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
  88.         <?php dynamic_sidebar( 'sidebar-1' ); ?>
  89.     </div><!-- #primary-sidebar -->
  90.     <?php endif; ?>
  91. Displays Comment.php file content
  92. ---------------------------------------------------------
  93. // If comments are open or we have at least one comment, load up the comment template.
  94. if ( comments_open() || get_comments_number() ) {
  95.     comments_template();
  96. }
  97.  
  98. Displays the Content of the Post
  99. ---------------------------------------------------------
  100. <?php the_content(); ?>
  101.  
  102. Displays the excerpt that is used in Posts
  103. ---------------------------------------------------------
  104. <?php echo esc_html(wp_trim_words( get_the_content(), 40, false )); ?>
  105.  
  106. Title of the Specific Post
  107. ---------------------------------------------------------
  108. <?php the_title(); ?>
  109. Link of the Specific Post
  110. ---------------------------------------------------------
  111. <?php the_permalink() ?>
  112.  
  113. Category of a Specific Post
  114. ---------------------------------------------------------
  115. <?php
  116. $categories = get_the_category();
  117. $separator = ", ";
  118. $output = '';
  119.  
  120. if ($categories)
  121.     {
  122.     foreach($categories as $category)
  123.         {
  124.         $output.= '<a href="' . get_category_link($category->term_id) . '">' . $category->cat_name . '</a>' . $separator;
  125.         }
  126.  
  127.     echo trim($output, $separator);
  128.     }
  129.  
  130. ?>
  131.  
  132. Author of the Specific Post
  133. ---------------------------------------------------------
  134. <?php the_author(); ?>
  135.  
  136. ID of a Specific Post
  137. ---------------------------------------------------------
  138. <?php the_ID(); ?>
  139.  
  140. Edit link for a Post
  141. ---------------------------------------------------------
  142. <?php edit_post_link(); ?>
  143.  
  144. URL of the Next Page
  145. ---------------------------------------------------------
  146. <?php next_post_link(' %link ') ?>
  147.  
  148. URL of the Previous Page
  149. ---------------------------------------------------------
  150. <?php previous_post_link('%link') ?>
  151.  
  152. Lists all links in Blogroll
  153. ---------------------------------------------------------
  154. <?php get_links_list(); ?>
  155.  
  156. Lists all Pages
  157. ---------------------------------------------------------
  158. <?php wp_list_pages(); ?>
  159.  
  160. List Archive for the Site
  161. ---------------------------------------------------------
  162. <?php wp_get_archives() ?>
  163.  
  164. Lists all Categories
  165. ---------------------------------------------------------
  166. <?php wp_list_cats(); ?>
  167.  
  168. Displays the Built in Calendar
  169. ---------------------------------------------------------
  170. <?php get_calendar(); ?>
  171.  
  172. Displays Register Link
  173. ---------------------------------------------------------
  174. <?php wp_register(); ?>
  175.  
  176. Displays Login/Logout Link only to Registered Users
  177. ---------------------------------------------------------
  178. <?php wp_loginout(); ?>
  179.  
  180. the date is ’02-15-14′
  181. ---------------------------------------------------------
  182. <?php the_time('m-d-y'); ?>
  183.  
  184. link to comments of post
  185. ---------------------------------------------------------
  186. <?php comments_popup_link(); ?>
  187.  
  188. edit link of post/page
  189. ---------------------------------------------------------
  190. <?php edit_post_link(); ?>
  191.  
  192. links from blogroll
  193. ---------------------------------------------------------
  194. <?php wp_list_bookmarks(); ?>
  195.  
  196. list all pages
  197. ---------------------------------------------------------
  198. <?php wp_list_pages(); ?>
  199.  
  200. list all categories
  201. ---------------------------------------------------------
  202. <?php wp_list_categories(); ?>
  203.  
  204. url to next post
  205. ---------------------------------------------------------
  206. <?php next_post_link('%link'); ?>
  207.  
  208. url to previous post
  209. ---------------------------------------------------------
  210. <?php previous_post_list('%link'); ?>
  211.  
  212. next and previous post link
  213. ---------------------------------------------------------
  214. <?php posts_nav_link(); ?>
  215.  
  216. rewinds post for a second loop
  217. ---------------------------------------------------------
  218. <?php rewind_posts(); ?>
  219.  
  220. admin meta data
  221. ---------------------------------------------------------
  222. <?php wp_meta(); ?>
  223.  
  224.  
  225. ==========================================================
  226. The Loop (Basic Loop)
  227. ==========================================================
  228. <?php if(have_posts()) { ?>
  229. <?php while(have_posts()) { ?>
  230. <?php the_post(); ?>
  231. <?php // custom post content code for title, excerpt and featured image ?>
  232. <?php } // end while ?>
  233. <?php } // end if ?>
  234.  
  235. ==========================================================
  236. The Loop (Advance Loop)
  237. ==========================================================
  238. <?php if (have_posts()) : ?>
  239. <?php while (have_posts()) : the_post(); ?>
  240. <div class="post" id="post-<?php the_ID(); ?>">
  241. <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to
  242. <?php the_title(); ?>"><?php the_title(); ?></a></h2>
  243. <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
  244. <div class="entry">
  245. <?php the_content('Read the rest of this entry »'); ?>
  246. </div>
  247. <p class="postmetadata">Posted in <?php the_category(', ') ?> <strong>|</strong>
  248. <?php edit_post_link('Edit','','<strong>|</strong>'); ?>
  249. <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments
  250. »'); ?>
  251. </p>
  252. </div>
  253. <?php endwhile; ?>
  254. <div class="navigation">
  255. <div class="alignleft"><?php next_posts_link('« Previous Entries') ?></div>
  256. <div class="alignright"><?php previous_posts_link('Next Entries »') ?></div>
  257. </div>
  258. <?php else : ?>
  259. <h2 class="center">Not Found</h2>
  260. <p class="center">Sorry, but you are looking for something that isn't here.</p>
  261. <?php include (TEMPLATEPATH . "/searchform.php"); ?>
  262. <?php endif; ?>
  263.  
  264. ==========================================================
  265. Navigation Menu
  266. Navigation Menu (Default)
  267. ==========================================================
  268. wp_nav_menu(array(
  269.                     'theme_location' => 'primary',
  270.                 );
  271.  
  272. Navigation Menu (Specific)
  273. ---------------------------------------------------------
  274. <?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>
  275.  
  276. Navigation Menu (Category Based)
  277. ---------------------------------------------------------
  278. <ul id="menu">
  279. <li <?php if(is_home()) { ?> class="current-cat" <?php } ?>>
  280. <a href="<?php bloginfo('home'); ?>">Home</a></li>
  281. <?php wp_list_categories('title_li=&orderby=id');?>
  282. </ul>
  283.  
  284. Navigation Menu (Page Based)
  285. ---------------------------------------------------------
  286. <ul id="menu">
  287. <li <?php if(is_home()) { ?> class="current-page-item" <?php } ?>>
  288. <a href="<?php bloginfo('home'); ?>">Home</a></li>
  289. <?php wp_list_pages('sort_column=menu_order&depth=1&title_li=');?>
  290. </ul>
  291.  
  292. Comments popup link
  293. ---------------------------------------------------------
  294. <?php comments_popup_link( 'Leave a Comment', '1 Comment', '% Comments' ); ?>
  295.  
  296.  
  297. if statemant for post find/search
  298. ---------------------------------------------------------
  299. <?php if(have_posts()) : ?>
  300.  
  301. while statemant
  302. ---------------------------------------------------------
  303. <?php while(have_posts()) : the_post(); ?>
  304.  
  305. End while statemant
  306. ---------------------------------------------------------
  307. <?php endwhile; ?>
  308.  
  309. End if statemant
  310. ---------------------------------------------------------
  311. <?php endif; ?>
  312.  
  313. ==========================================================
  314. Get Featured Image URL with Proper size Array
  315. ==========================================================
  316. <?php $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 900,900 ), false, '' );
  317. // Outpot
  318. echo $src[0]; ?>
  319.  
  320.  
  321. Feature iamge query with direct hyperlink
  322. ---------------------------------------------------------
  323. <?php
  324. $thumbnail_id=get_the_post_thumbnail($post->ID);
  325. preg_match ('/src="(.*)" class/',$thumbnail_id,$link);
  326. echo $link[1];
  327. ?>
  328.  
  329. Feature iamge query with direct link for Lightbox
  330. ---------------------------------------------------------
  331. <?php
  332. $thumbnail_id=get_the_post_thumbnail($post->ID);
  333. preg_match ('/src="(.*)" class/',$thumbnail_id,$link);
  334. echo $link[1];
  335. ?>
  336. <a href="<?php echo $link[1]; ?>" rel="lightbox"><?php the_post_thumbnail('thumbnail'); ?></a>
  337.  
  338. ==========================================================
  339. Display all Custom Texonomies list
  340. ==========================================================
  341. <?php
  342. //list terms in a given taxonomy
  343. $taxonomy = 'recipe-cat';
  344. $tax_terms = get_terms($taxonomy);
  345. ?>
  346. <ul class="fc_texonomy">
  347. <?php
  348. foreach ($tax_terms as $tax_term) {
  349. echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "View all posts in %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a></li>';
  350. }
  351. ?>
  352. </ul>
  353.  
  354. ==========================================================
  355. URL / permalink rewrite issue fix for (Recipe) Custom Post
  356. ==========================================================
  357. add_action('init', 'firmasite_resimlitarif_cpt', 0);
  358. function firmasite_resimlitarif_cpt()
  359. {
  360. // Recipe Custom Post
  361. $args = array(
  362. 'public' => true,
  363. 'show_in_menu' => true,
  364. 'permalink_epmask' => EP_NONE,
  365. 'rewrite' => array('slug'=>'/','with_front'=>false),
  366. 'has_archive' => false,
  367. 'supports' => array('title','editor','thumbnail')
  368. );
  369. register_post_type('recipe',$args);
  370. }
  371. add_action("parse_query", 'firmasite_resimlitarif_parse_query');
  372. function firmasite_resimlitarif_parse_query($query) {
  373. global $wp, $wp_rewrite;
  374. // Is this query for /%post_name%/? Is it main request query?
  375. if (isset($query->query['name'])
  376. && substr($wp->matched_rule, 0, 7) == "([^/]+)"
  377. && isset($query->query)
  378. && isset($wp->query_vars)
  379. && $query->query == $wp->query_vars)
  380. {
  381. if (!($post_types = get_query_var("post_type"))) {
  382. if ($wp_rewrite->permalink_structure == "/%postname%/")
  383. $post_types = array("post");
  384. else
  385. $post_types = array();
  386. }
  387. if (is_array($post_types)){
  388. $post_types[] = 'recipe';
  389. $post_types[] = 'page';
  390. }
  391. set_query_var("post_type", $post_types);
  392. }
  393. }
  394. ==========================================================
  395. Add metabox, save data in post, page, post-type
  396. ==========================================================
  397. // Little function to return a custom field value
  398. function wpshed_get_custom_field( $value ) {
  399. global $post;
  400. $custom_field = get_post_meta( $post->ID, $value, true );
  401. if ( !empty( $custom_field ) )
  402. return is_array( $custom_field ) ? stripslashes_deep(
  403. $custom_field ) : stripslashes( wp_kses_decode_entities( $custom_field ) );
  404. return false;
  405. }
  406. // Add the Metabox
  407. function wpshed_add_custom_meta_box() {
  408. add_meta_box( 'wpshed-meta-box', __( 'Metabox Example', 'textdomain' ), 'wpshed_meta_box_output', 'post', 'normal', 'high' );
  409. add_meta_box( 'wpshed-meta-box', __( 'Metabox Example', 'textdomain' ), 'wpshed_meta_box_output', 'page', 'normal', 'high' );
  410. add_meta_box( 'wpshed-meta-box', __( 'Metabox Example', 'textdomain' ), 'wpshed_meta_box_output', 'post_type_name', 'normal', 'high' ); //show in custom post
  411. }
  412. add_action( 'add_meta_boxes', 'wpshed_add_custom_meta_box' );
  413. // Output the Metabox
  414. function wpshed_meta_box_output( $post ) {
  415. // create a nonce field
  416. wp_nonce_field( 'my_wpshed_meta_box_nonce', 'wpshed_meta_box_nonce' ); ?>
  417. <p>
  418. <label for="wpshed_textfield"><?php _e( 'Textfield', 'textdomain' ); ?>:</label>
  419. <input type="text" name="wpshed_textfield" id="wpshed_textfield" value="<?php echo wpshed_get_custom_field( 'wpshed_textfield' ); ?>" size="50" />
  420. </p>
  421. <p>
  422. <label for="wpshed_textarea"><?php _e( 'Textarea', 'textdomain' ); ?>:</label><br />
  423. <textarea name="wpshed_textarea" id="wpshed_textarea" cols="60" rows="4"><?php echo wpshed_get_custom_field( 'wpshed_textarea' ); ?></textarea>
  424. </p>
  425. <?php
  426. }
  427. // Save the Metabox values
  428. function wpshed_meta_box_save( $post_id ) {
  429. // Stop the script when doing autosave
  430. if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
  431. // Verify the nonce. If insn't there, stop the script
  432. if( !isset( $_POST['wpshed_meta_box_nonce'] ) || !wp_verify_nonce( $_POST['wpshed_meta_box_nonce'], 'my_wpshed_meta_box_nonce' ) ) return;
  433. // Stop the script if the user does not have edit permissions
  434. if( !current_user_can( 'edit_post' ) ) return;
  435. // Save the textfield
  436. if( isset( $_POST['wpshed_textfield'] ) )
  437. update_post_meta( $post_id, 'wpshed_textfield', esc_attr( $_POST['wpshed_textfield'] ) );
  438. // Save the textarea
  439. if( isset( $_POST['wpshed_textarea'] ) )
  440. update_post_meta( $post_id, 'wpshed_textarea', esc_attr( $_POST['wpshed_textarea'] ) );
  441. }
  442. add_action( 'save_post', 'wpshed_meta_box_save' );
  443.  
  444.  
  445. ==========================================================
  446. Conditional Metabox data returns (Example)
  447. ==========================================================
  448. <?php global $post;
  449. $a=get_post_meta($post->ID,'pricing_class',true);
  450. if ($a){
  451. echo $a;
  452. }
  453. ?>
  454.  
  455. ==========================================================
  456. Query Recent 10 Post title From a Category
  457. ==========================================================
  458. <?php
  459. //display 10 posts for category id 47
  460. $args=array(
  461. 'cat' => 1,
  462. 'post_type' => 'post',
  463. 'post_status' => 'publish',
  464. 'posts_per_page' => 10,
  465. 'caller_get_posts'=> 1
  466. );
  467. $my_query = null;
  468. $my_query = new WP_Query($args);
  469. if( $my_query->have_posts() ) {
  470. echo 'List of Posts';
  471. while ($my_query->have_posts()) : $my_query->the_post(); ?>
  472. <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
  473. <?php
  474. endwhile;
  475. }
  476. wp_reset_query(); // Restore global post data stomped by the_post().
  477. ?>
  478.  
  479. ==========================================================
  480. Add Menu Support in Theme
  481. ==========================================================
  482. function register_my_menus() {
  483. register_nav_menus( array(
  484. 'primary' => __( 'Primary Navigation', 'portfolium' ),
  485. ) );
  486. }
  487.  
  488. Show Menu In wordpress Header
  489. ----------------------------------------------------------
  490. <?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
  491.  
  492. ADD icon in menu Li
  493. ----------------------------------------------------------
  494. <?php
  495. if (function_exists('wp_nav_menu')) {
  496. wp_nav_menu(
  497. array( 'theme_location'=> 'wpj-main-menu',
  498. 'menu_class' => 'nav navbar-nav',
  499. 'link_before' => '<i class="glyphicon-plus">&nbsp;</i>',
  500. 'link_after' => '<i class="glyphicon-plus">&nbsp;</i>',
  501. 'fallback_cb' => 'wpj_default_menu'
  502. ));}
  503. else {wpj_default_menu();}
  504. ?>
  505.  
  506.  
  507. ==========================================================
  508. Register sidebars and widget areas
  509. ==========================================================
  510. function fctheme_widget_areas() {
  511. register_sidebar( array(
  512. 'name' => __( 'About Us Page Content', 'freelancingcare' ),
  513. 'id' => 'about_us_text',
  514. 'before_widget' => '<div class="contact_map floatleft">',
  515. 'after_widget' => '</div>',
  516. 'before_title' => '<h3>',
  517. 'after_title' => '</h3>',
  518. ) );
  519. }
  520. add_action('widgets_init', 'fctheme_widget_areas');
  521.  
  522. Use Widget Code in Template Page
  523. ----------------------------------------------------------
  524. <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(about_us_text) ) : ?>
  525. <div class="fc_class">
  526. //Write your default data
  527. </div>
  528. <?php endif; ?>
  529.  
  530. ==========================================================
  531. Get author list in particular post category sort by post count
  532. ==========================================================
  533. <?php
  534. $catauthors = array();
  535. $my_cat_id=5; // Your category ID
  536. $allposts=get_posts("cat=$my_cat_id&showposts=-1");
  537. if ($allposts) {
  538. foreach($allposts as $authorpost) {
  539. $catauthors[$authorpost->post_author]+=1; // Authors Post Limit
  540. }
  541. arsort($catauthors); //sort array in reverse order by number of posts
  542. foreach($catauthors as $key => $author_post_count) {
  543. $curuser = get_userdata($key);
  544. $author_post_url=get_author_posts_url($curuser->ID, $curuser->nicename);
  545. echo '<p>--User nicename: '.$curuser->user_nicename .', display name: '. $curuser->display_name . ', number of posts in category '.$my_cat_id.': ' .$author_post_count .', link to all posts by this author: <a href="' . $author_post_url . '" title="' . sprintf( __( "Posts by %s" ), $curuser->user_nicename ) . '" ' . '>' . $curuser->user_nicename .'</a></p>';
  546. }
  547. }
  548. ?>
  549.  
  550. Another Easy code for author list
  551. ----------------------------------------------------------
  552. <?php wp_list_authors('show_fullname=1&optioncount=1&orderby=post_count&order=DESC&number=3'); ?>
  553.  
  554.  
  555. ==========================================================
  556. Count all the post for a category
  557. ==========================================================
  558. <?php
  559. $counter = "SELECT COUNT(*)
  560. FROM $wpdb->posts
  561. LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
  562. LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
  563. WHERE $wpdb->term_taxonomy.term_id = 5
  564. AND $wpdb->term_taxonomy.taxonomy = 'category'
  565. AND $wpdb->posts.post_status = 'publish'
  566. AND post_author = '1'
  567. ";
  568. $user_count = $wpdb->get_var($counter);
  569. echo $user_count;
  570. ?>
  571.  
  572.  
  573. ==========================================================
  574. Conditional Text for Logged user and guest in wordpres
  575. ==========================================================
  576. <?php if ( !is_user_logged_in() ) {
  577. echo 'Guest Data';
  578. } else {
  579. echo 'Member data';
  580. }
  581. ?>
  582.  
  583.  
  584. ==========================================================
  585. Activate ReduxFramework Admin Panel
  586. ==========================================================
  587. // Include the Redux theme options Framework
  588. if ( !class_exists( 'ReduxFramework' ) ) {
  589. require_once( dirname( __FILE__ ) . '/ReduxCore/framework.php' );
  590. }
  591. // Tweak the Redux framework, Register all the theme options, Registers the wpex_option function
  592. if ( !isset( $redux_demo ) ) {
  593. require_once( dirname( __FILE__ ) . '/functions/admin-config.php' );
  594. }
  595.  
  596. ==========================================================
  597. wordpres endforeach Loop
  598. ==========================================================
  599. <?php
  600.     global $post;
  601.     $args = array( 'posts_per_page' =>5, 'post_type'=> 'slider','order' => 'ASC');
  602.     $myposts = get_posts( $args );
  603.     foreach( $myposts as $post ) : setup_postdata($post);
  604. ?>
  605. <?php the_excerpt();?>
  606. <?php endforeach; ?>
  607.  
  608. ==========================================================
  609. Custom post query with custom field wordpress.
  610. ==========================================================
  611. <?php
  612. global $post;
  613. $args = array( 'posts_per_page' => 10, 'post_type'=> 'custom-post-type' );
  614. $myposts = get_posts( $args );
  615. foreach( $myposts as $post ) : setup_postdata($post); ?>
  616. <?php
  617. $job_link= get_post_meta($post->ID, 'job_instructions', true);
  618. ?>
  619.  <?php echo $job_link; ?>
  620. <?php endforeach; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement